oracle数据库条件判断的查询语句怎么写
在“收款标志”字段里有“1”,“2”,“3”三个可填数字。当“收款标志”字段全为1时,返给“收款状态”为“未收款”;当“收款标志”字段有“2”时,返回“部分收款”;当“收...
在“收款标志”字段里有“1”,“2”,“3”三个可填数字。当“收款标志”字段全为1时,返给“收款状态”为“未收款”;当“收款标志”字段有“2”时,返回“部分收款”;当“收款标志”为全为“3”时,返回“已收款”,实现这个效果怎么写
展开
展开全部
建表,测试数据:
create table test
(收款标志 int)
insert into test values (1);
insert into test values (1);
insert into test values (1);
commit;
执行:
select case
when a.cnt = b.cnt then
'未收款'
when a.cnt = d.cnt then
'已收款'
when c.cnt <> 0 then
'部分收款'
end 收款状态
from (select count(*) cnt from test) a,
(select count(*) cnt from test where 收款标志 = 1) b,
(select count(*) cnt from test where 收款标志 = 2) c,
(select count(*) cnt from test where 收款标志 = 3) d
结果:
然后你自己换点其他数据测试一下吧,思路就这么个思路了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询