私が行った場合
SELECT * FROM cte1 c
WHERE c.GrantNumber NOT IN
(
SELECT t1.nai_grant_number FROM #temp t1
)
これは正常に機能します。
しかし、私がそうするなら
SELECT * FROM cte1 c
WHERE c.GrantNumber NOT IN
(
CASE WHEN
@AutoRenewalChk = 1 THEN
(
SELECT t1.nai_grant_number FROM #temp t1
) END
)
エラーが発生する
メッセージ512、レベル16、状態1、行33サブクエリが複数の値を返しました。サブクエリが=、!=、<、<=、>、> =の後に続く場合、またはサブクエリが式として使用される場合、これは許可されません。
理由は何ですか?上記のようなcaseステートメントを使用することはできませんか?
ありがとう