有没有办法在sql中写一个case语句,如果A列> 0则B列,C列= 0

问题描述 投票:0回答:1

我有多个具有相同值的列,当我总结它们时,它显示了不正确的结果。有没有办法在sql中编写case语句,如果A列> 0则将所有剩余列设为0(B列,C列,D列= 0)

如果 B 列 >0,则将所有剩余列设为 0(A 列、C 列、D 列= 0)

在此序列中,第一列具有更高的优先级。

enter image description here

enter image description here

我尝试写案例陈述,但没有成功。

sql case
1个回答
0
投票

看看这个例子是否有帮助:

SELECT a
    ,CASE WHEN a > 0 THEN 0 ELSE b END AS b
    ,CASE WHEN a > 0 OR b > 0 THEN 0 ELSE c END AS c
    ,CASE WHEN a > 0 OR b > 0 OR c > 0 THEN 0 ELSE d END AS d
FROM tbl;
© www.soinside.com 2019 - 2024. All rights reserved.