1

SQL Server 2005 是否支持ANYEVERY支持HAVING

假设我有两张桌子:

Training(TrainingID, TrainingCloseDate) and
TrainingDetail(TrainingDetailID, TrainingID, LKClassCode, CompletionDate).

一方面TrainingID,可以有多个TrainingDetail不同的值LKClassCode。我需要找到TrainingID至少有一个TrainingDetailIDCompletionDate2009 年 1 月 1 日和 2010 年 1 月 1 日之间的所有 '。

当我尝试使用 时HAVING ANY,出现错误:

Incorrect syntax near the keyword 'ANY'.

如果不支持,能否请您提出替代方案?

如果我需要找到所有TrainingID' 至少有一个TrainingDetailIDCompletionDate1/1/2009 和 1/1/2010 之间或TrainingCloseDate= '5/5/2009' ' 的所有 ' 怎么办?

4

1 回答 1

0

我需要找到TrainingID至少有一个TrainingDetailIDCompletionDate2009 年 1 月 1 日和 2010 年 1 月 1 日之间的所有 '。

SELECT TrainingID
FROM TrainingDetail
WHERE CompletionDate BETWEEN date1 AND date2

您可能需要将日期转换为正确的格式(时间戳?)。

如果我需要找到所有TrainingID' 至少有一个TrainingDetailIDCompletionDate1/1/2009 和 1/1/2010 之间或TrainingCloseDate= '5/5/2009' ' 的所有 ' 怎么办?

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'
于 2010-02-08T13:07:07.350 回答