oracle数据库条件判断的查询语句怎么写

在“收款标志”字段里有“1”,“2”,“3”三个可填数字。当“收款标志”字段全为1时,返给“收款状态”为“未收款”;当“收款标志”字段有“2”时,返回“部分收款”;当“收... 在“收款标志”字段里有“1”,“2”,“3”三个可填数字。当“收款标志”字段全为1时,返给“收款状态”为“未收款”;当“收款标志”字段有“2”时,返回“部分收款”;当“收款标志”为全为“3”时,返回“已收款”,实现这个效果怎么写 展开
 我来答
badkano
2018-05-31 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885374
团长

向TA提问 私信TA
展开全部

建表,测试数据:

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

结果:

然后你自己换点其他数据测试一下吧,思路就这么个思路了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式