2010-11-05 22 views
1

我需要編寫一個SQL查詢,該查詢從每次銷售人員向客戶說話時存儲記錄的表中提取。相關欄目是:(1)銷售員的員工ID,(2)客戶的賬號,以及(2)談話日期。根據任意列中的獨特性限制SQL查詢的結果

銷售人員經常在報告期內(一個日曆月)與客戶多次交談,因此除了日期之外,會有幾個條目幾乎相同。

我被絆倒的地方在於,爲了查詢的目的,我需要每個銷售員/客戶端組合只返回一條記錄,但我無法使用DISTINCT,因爲我需要包含報告期內最近的一次談話。

因此,如果銷售人員約翰在10月10日,10月18日和10月25日與客戶ABC通話,我需要拉10/25記錄,但不是其他人。

這是一個Sybase數據庫。

我有這樣的感覺,我可能在這裏錯過了一些簡單的東西,但我試過尋找並繼續難住。任何幫助是極大的讚賞。

感謝您的時間,

約翰

回答

1

在列名猜...

SELECT employee_id, client_acct_no, 
     MAX(conversation_date) AS MOST_RECENT_CONV_DATE 
    FROM mytable 
    WHERE conversation_date BETWEEN DATE '2010-10-01' AND DATE '2010-10-31' 
GROUP BY employee_id, client_acct_no 

DocumentationGROUP BY條款。