q1:给出一个表:ID,Date,Status。编写一个接收@ID @Date的SQL查询,并在该日期检索具有该id的人员的状态,或者如果该日期不存在则检索不晚于@date的最后状态。
我曾尝试为上述问题撰写查询。谢谢你的发言:
SELECT TOP (1) status from MyTable AS T
WHERE T.Date <= @date && T.id = @id
ORDER BY T.Date
谢谢你们
答案 0 :(得分:3)
您需要使用AND
代替&&
,并按日期降序排序:
SELECT TOP 1 status
from MyTable AS T
WHERE T.Date <= @date
and T.id = @id
ORDER BY T.Date desc
答案 1 :(得分:0)
从MyTable选择TOP TOP 1状态T WHERE T.Date&lt; = @date AND T.id = @id ORDER BY T.Date