SQL Server 2005是否支持ANY
或EVERY
HAVING
?
假设我有两个表:
Training(TrainingID, TrainingCloseDate) and
TrainingDetail(TrainingDetailID, TrainingID, LKClassCode, CompletionDate).
对于一个TrainingID
,TrainingDetail
中可能有多个值与LKClassCode
不同。我需要查找在2009年1月1日到2010年1月1日之间至少有一个TrainingID
与TrainingDetailID
的所有CompletionDate
。
当我尝试使用HAVING ANY
时,出现了错误:
Incorrect syntax near the keyword 'ANY'.
如果不支持,请您提出替代方案吗?
如果我需要找到在1/1/2009和2010年1月1日之间至少有一个TrainingID
TrainingDetailID
或CompletionDate
的所有TrainingCloseDate
或{ {1}} ='5/5/2009''?
答案 0 :(得分:0)
我需要在2009年1月1日到2010年1月1日之间找到所有TrainingID
至少有TrainingDetailID
CompletionDate
的所有SELECT TrainingID
FROM TrainingDetail
WHERE CompletionDate BETWEEN date1 AND date2
。
TrainingID
您可能需要将日期转换为正确的格式(时间戳?)。
如果我需要查找在2009年1月1日到2010年1月1日期间至少有一个TrainingDetailID
与CompletionDate
的所有TrainingCloseDate
,该怎么办?还是SELECT TD.TrainingID
FROM TrainingDetail TD
JOIN Training T ON T.TrainingID = TD.TrainingID
WHERE (CompletionDate BETWEEN date1 AND date2) OR TrainingCloseDate = '5/5/2009'
='5/5/2009''?
{{1}}