我试图在一个SQL查询中应用两个条件。如何在SQL查询中使用两次CASE子句
(select DISTINCT (
CASE WHEN (
ABC.GemUserID = '99')
OR ABC.GemUserID != '99'
THEN 'Yes'
ELSE 'No'
END)) AS AllWell
这给了我输出为 “是”,其中的情况下,只有1个文件中像下面是正确的:
当前结果:
99 , Yes
99 , Yes
99 , Yes
预期结果:
99 , No
99 , No
99 , Yes
我正在使用下面的查询,但SQL查询Intellisence将其标识为错误。
错误查询:
(select DISTINCT (
CASE WHEN (ABC.GEMUserID = '99' THEN 'Yes' else 'No'
CASE WHEN (ABC.GEMUserID != '99' THEN 'No' else 'Yes'
END)) AS AllWell
固定上述错误查询后:
(select DISTINCT
(CASE WHEN ABC.GemUserID = '99' THEN 'Yes' else 'No' END),
(CASE WHEN ABC.GemUserID != '99' THEN 'No' else 'Yes' END))
AS AllWell
但我得到的错误:
Msg 116, Level 16, State 1, Line 17 Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
如何解决这一问题?
使用'CASE WHEN'“internal”'CASE WHEN 1 = 1 THEN 0 ELSE CASE when 2 = 2 THEN 2 ELSE 0 END END' – Fabio
为什么两个case case语句似乎做同样的事情? – spyr0
请提供样本数据和期望的结果。 –