1

SQL Server 2005はサポートしていますANYか?EVERYHAVING

2つのテーブルがあるとします。

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

1つについては、異なるTrainingID値を持つ複数の値が存在する可能性があります。2009年1月1日から2010年1月1日までの間に少なくとも1つあるすべてのを見つける必要があります。TrainingDetailLKClassCodeTrainingIDTrainingDetailIDCompletionDate

で試したHAVING ANYところ、エラーが発生しました。

Incorrect syntax near the keyword 'ANY'.

サポートされていない場合は、別の方法を提案していただけますか?

'2009年1月1日から2010年1月1日までの間TrainingIDに少なくとも1つ、または='2009年5月5日''を持つすべての'TrainingDetailIDを検索する必要がある場合はどうなりますか?CompletionDateTrainingCloseDate

4

1 に答える 1

0

2009年1月1日から2010年1月1日までの間TrainingIDに少なくとも1つあるすべてのを見つける必要があります。TrainingDetailIDCompletionDate

SELECT TrainingID
FROM TrainingDetail
WHERE CompletionDate BETWEEN date1 AND date2

日付を適切な形式(タイムスタンプ?)に変換する必要がある場合があります。

'2009年1月1日から2010年1月1日までの間TrainingIDに少なくとも1つ、または='2009年5月5日''を持つすべての'TrainingDetailIDを検索する必要がある場合はどうなりますか?CompletionDateTrainingCloseDate

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 に答える