2010-12-08 57 views
0

返回最新记录帮助。如果我有一个像下面的数据:TSQL:需要从表

CustID, CustDate, CustCode 
=========================== 
123  12/1/10  a 
123  12/2/10  b 
456  12/3/10  c 
456  12/4/10  d 
789  12/5/10  3 

我怎么会写,将返回的最新记录为表中该客户的查询?

结果应该是..

CustID, CustDate, CustCode 
=========================== 
123  12/2/10  b 
456  12/4/10  d 
789  12/5/10  3 

请帮我写查询..

回答

1
SELECT 
    CustId, CustDate, CustCode 
FROM 
    MyTable 
WHERE 
    NOT EXISTS 
    (
    SELECT * FROM MyTable AS a_MyTable 
    WHERE a_MyTable.CustId = MyTable.CustId 
     AND a_MyTable.CustDate > MyTable.CustDate 
) 
0
Select CustId, CustDate, CustCode 
From Table As T 
Where CustDate = (
        Select Max(T1.CustDate) 
        From Table As T1 
        Where T1.CustID = T.CustID 
        )