如果我有这样的简单查询:
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
但这会产生语法错误(缺少运算符)
这可能吗?