jun*_*Dev 4 sql t-sql where-clause case-when
我的情况很复杂.我想在"where子句"上写一个包含"case when"条件的sql查询.
就像那样:
SELECT *
FROM <table>
WHERE
<Column1> in
CASE <Column2>
WHEN 1 THEN ('OP', 'CL')
WHEN 0 THEN ('RE', 'ST')
END
Run Code Online (Sandbox Code Playgroud)
Column1必须为"in",而不是"=".因为Column1的条件有多个值.该查询返回"',''附近的语法不正确." 错误.
你能给我任何建议吗?(对不起,我的英语不好.)
编辑:我想我误解了.如果Column2为1,则条件必须类似于"IN('OP','CL')"否则Column1为2,条件必须类似"IN('RE','ST')".
你不需要CASE表达式,你可以OR像这样使用:
SELECT *
FROM <table>
WHERE (Column2 = 1 AND Column1 IN ('OP', 'CL')) OR
(Column2 = 0 AND Column1 IN ('RE', 'ST'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
848 次 |
| 最近记录: |