建表,测试数据:
create table test(收款标志 int)
insert into test values (1)
insert into test values (1)
insert into test values (1)
commit
执行:
select casewhen 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
结果:
然后你自己换点其他数据测试一下吧,思路就这么个思路了。
通过where .....and (or)...语句进行多条件查询即可。sql:select * from tablename t where t.id =1 and t.name ='zhangsan'.
解释:and的意思是 “并且”,两个条件同时满足的话才会输出。上面的sql意思就是:从tablename表中查询出id是1并且name是zhangsan的用户信息。
sql:select * from tablename t where t.id =1 or t.id =2.
解释:or的意思是 “或者”,两个条件满足一个的话输出。上面的sql意思就是:从tablename表中查询出id是1或者id是2的用户信息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)