我试图在OR子句中使用列别名,但我不断收到错误消息:“无效的列名'TEAM NAME'”。我已经看到了有关在WHERE子句中使用别名的线程,但是我不确定OR是否可行。这是我正在使用的东西:
[TEAM NAME] = CASE WHEN MAX(L.City) IN ('RY','BR') THEN 'Team 1'
WHEN MAX(L.City) IN ('JS','ND') THEN 'Team 2'
WHEN MAX(L.City) IN ('QV','VE') THEN 'Team 3'
WHEN MAX(L.City) IN ('FB','RX') THEN 'Team 4'
ELSE '-' END,
这是我的OR子句
AND (U.Player IN ('Tom Thumb','Wallace Gromit') OR [Team Name] <> '-')
不幸的是你必须把它写出来。PS这应该在HAVING
子句中:
AND (U.Player IN ('Tom Thumb','Wallace Gromit') OR
CASE WHEN MAX(L.City) IN ('RY','BR') THEN 'Team 1'
WHEN MAX(L.City) IN ('JS','ND') THEN 'Team 2'
WHEN MAX(L.City) IN ('QV','VE') THEN 'Team 3'
WHEN MAX(L.City) IN ('FB','RX') THEN 'Team 4'
ELSE '-' END,
<> '-')
或者
AND (U.Player IN ('Tom Thumb','Wallace Gromit') OR
MAX(L.City) NOT IN ('RY','BR','JS','ND','QV','VE','FB','RX'))
或者,您可以将整个查询视为子查询,然后从中选择
Select * from (myquery) s where (U.Player IN ('Tom Thumb','Wallace Gromit') OR [Team Name] <> '-')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句