這個SQL語句返回任何結果:爲什麼不在「(select語句)」條件中返回與「where(select statement> parameter)」相同的resault?
SELECT [AutoNo], [PersonID]
FROM [PersonTBL]
WHERE PersonID NOT IN (SELECT PersonID
FROM FollowUpTBL
WHERE FDate > '09/24/2014')
雖然這一個返回預期的結果:
SELECT [AutoNo], [PersonID]
FROM [PersonTBL]
WHERE (SELECT TOP 1 FDate
FROM FollowUpTBL
WHERE FollowUpTBL.PersonID = PersonTBL.PersonID
ORDER BY FDate DESC) < '09/24/2014'
我需要返回誰擁有之後的任何後續所有人'09 /二千〇一十四分之二十四',爲什麼第一個SQL查詢不起作用?而第二個查詢返回真實的數據!
是否有任何方法可以使第一個查詢返回相同的結果(我的意思是使用「IN(select)」)?
您的第一個和第二個查詢有不同的日期? – Sparky 2014-10-28 12:29:35
對不起Sparky,但即使在相同的日期,我沒有結果時,先運行sql – 2014-10-28 12:36:00
第一個查詢返回日期後沒有任命的人的PersonID。 (他們可能根本沒有預約) 第二個返回最後約會在日期之前的人的PersonID。 – Kobi 2014-10-28 13:20:23