次のような単純なクエリがある場合:
SELECT Flag, Column1, Column2
FROM MyTable
WHERE Item = MyItem
このクエリは、次のように 1 行を返すことが期待されます。
Flag Column1 Column2
---------------------------
Y 123 ABC
MyItem = "Y" の場合は "Column1" のみを含め、MyItem = "N" の場合は "Column2" のみを含めるように選択できますか?
だから私はこれを見たいと思います:
Flag Column1
--------------
Y 123
またはこれ:
Flag Column2
----------------
N ABC
CASE
のどこかにステートメントが含まれると思いSELECT
ますが、構文はわかりません。私はこれを試しました:
SELECT This,
CASE WHEN Flag = "Y" THEN Column1 ELSE NULL END,
CASE WHEN Flag = "N" THEN Column2 ELSE NULL END
FROM MyTable
WHERE Item = MyItem
しかし、それは構文エラーを引き起こします(演算子がありません)
これは可能ですか?