我有这个SQL语句:
SELECT *
FROM history
WHERE (fk_person = 2119) AND (action = 2) AND (date =
(SELECT MAX(day) AS maxDay
FROM history AS hist
WHERE (fk_person = 2119)))
据我所知,SQL Server CE不支持子查询。
我该如何更换?
感谢您的回答!
答案 0 :(得分:2)
尝试
SELECT h1.*
FROM history h1
inner join FROM history h2 on h1.fk_person = h2.fk_person
WHERE h1.fk_person = 2119
AND h1.action = 2
AND h1.day = MAX(h2.day)
答案 1 :(得分:0)
我不确定有多少记录具有相同的MAX(day)
,但如果您只需要一个,则以下内容可能适用于您:
SELECT TOP (1) *
FROM history
WHERE (fk_person = 2119)
AND (action = 2)
ORDER BY day DESC