次のエラーメッセージが表示されます。サブクエリが2つ以上の値を返しました。エラー
サブクエリが1より大きい値を返しました。 =、!=、<、< =、>、> =、またはサブクエリが式として使用されている場合は、これは許可されません。
私が問題を抱えているコードのセクションは、私のselectステートメントにあります。
,(SELECT COUNT(sch.startdate)
FROM #test AS sch
WHERE L.Id = sch.id
GROUP BY sch.id, sch.startdate
HAVING sch.startdate >= L.T_Start AND sch.startdate <= @END) AS SC
現在、テスト用のテンポラリテーブルには1つのレコードしかなく、2つがある場合は分けられます。私はそれを制限するためにトップ1を使うことができることを知っているが、それは私が望むものではない。 L
はメインのselectステートメントからのものです。一時テーブルそう
OK]をクリックして次のデータを持っている:私のコードでTOP 1で
ID startdate
1 2014-10-02
1 2014-11-02
2 2014-11-02
私は以下の結果を得る:
ID ~Other Stuff~ SC
1 ~~~~~~~~~~~~~ 1
2 ~~~~~~~~~~~~~ 1
しかし、私は返すことにしたいことは次のとおりです。
ID ~Other Stuff~ SC
1 ~~~~~~~~~~~~~ 2
2 ~~~~~~~~~~~~~ 1
これを達成するためにコードを変更するにはどうすればよいですか?
ありがとうございました。
良い答えを得るために、あなたはまだ「メイン」 'from'句、だけではなくサブクエリを表示する必要があります。概念的には、サブクエリ内の 'group by'を取り除き、本質的に' where sch.id = main.id'行を使ってそれをメインクエリに結びつける 'where'節を使いたいとします。 – tarheel