【问题标题】:HAVING ANY and HAVING EVERY拥有任何和拥有一切
【发布时间】:2010-02-08 12:52:31
【问题描述】:

SQL Server 2005 是否支持 ANYEVERYHAVING

假设我有两张桌子:

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

对于一个TrainingIDTrainingDetail 中可以有多个值与不同的LKClassCode。我需要找到在 2009 年 1 月 1 日到 2010 年 1 月之间至少有一个 TrainingDetailIDCompletionDate 的所有 TrainingID

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

Incorrect syntax near the keyword 'ANY'.

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

如果我需要在 2009 年 1 月 1 日到 2010 年 1 月 1 日之间找到“至少一个 TrainingDetailIDCompletionDateTrainingCloseDate = '5/ 的所有 TrainingID 怎么办? 5/2009' '?

【问题讨论】:

    标签: sql sql-server sql-server-2005 having


    【解决方案1】:

    我需要找到在 2009 年 1 月 1 日到 2010 年 1 月 1 日之间至少有一个 TrainingDetailIDCompletionDate 的所有 TrainingID

    SELECT TrainingID
    FROM TrainingDetail
    WHERE CompletionDate BETWEEN date1 AND date2
    

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

    如果我需要找到所有在 2009 年 1 月 1 日到 2010 年 1 月 1 日之间至少有一个 TrainingDetailIDCompletionDateTrainingIDTrainingCloseDate = '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'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-13
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      • 1970-01-01
      相关资源
      最近更新 更多