2011-06-08 22 views
0

q1:給定一個表:ID,日期,狀態。編寫一個接收@ID @Date的SQL查詢,並在該日期檢索具有該id的人的狀態,或者如果該日期不存在,則檢索不遲於該@date的最後狀態。sql:status不遲於參數@date

我試圖爲上述問題編寫查詢。我會感激你的言論:

SELECT TOP (1) status from MyTable AS T 
WHERE T.Date <= @date && T.id = @id 
ORDER BY T.Date 

謝謝你們

回答

3

您需要通過日期倒序排列使用AND代替&&和訂單:

SELECT TOP 1 status 
from MyTable AS T 
WHERE T.Date <= @date 
    and T.id = @id 
ORDER BY T.Date desc 
0

SELECT TOP 1的狀態從MyTable的AS T WHERE T.Date < = @date AND T.id = @id ORDER BY T.Date

+0

ORDER BY T.Date DESC – 2011-06-08 15:24:01