DECLARE @Test bit= NULL
SELECT CASE WHEN @Test = NULL THEN
(SELECT * FROM Sales WHERE A =1)
ELSE
(SELECT * FROM Sales WHERE A =2)
END
私のクエリはこれほど単純ではありませんが、これらの行にあります。プロシージャーには 7 つのパラメーターがあります。実際のストアド プロシージャでは、まず LEFT を選択して他の 3 つのテーブル (A、B、C) を結合します。2 番目の select LEFT は、前の 2 つの (A,B) テーブルと Sales 自体 (A,B,Sales) の内部結合を結合します。ユニオンを使用してみましたが、最初の選択で表示されない行が取得されます。2番目の選択は正しいものをもたらします。だから私はケース選択をすることができるかもしれないと思った. しかし、私はこのエラーで終わります
「サブクエリが EXISTS で導入されていない場合、選択リストに指定できる式は 1 つだけです。」
続行する方法について何かアイデアはありますか? 私は何か完全に間違っていますか?さらに情報が必要な場合は、お問い合わせください。ありがとう。