请教一个oracle查询问题

luca623 2016-11-28 08:46:42
a表 有如下字段 id result1,result2,result3
有如下记录

1, 001
2, 001,001001
3 001,001001,001001001
4 001,001001,001001002

我想查询出来的结果是 只显示两列 id ,result
如果result3 有记录就显示result3,,没有记录就显示result2,如果result2没有就显示result1
结果如下
1,001
2, 001001
3,001001001
4,001001002
...全文
71 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
luca623 2016-11-28
  • 打赏
  • 举报
回复
谢谢~~~~~~~~
卖水果的net 2016-11-28
  • 打赏
  • 举报
回复

SQL> 
SQL> create table test(id int, r1 varchar(10), r2 varchar(10), r3 varchar(10));
Table created
SQL> begin
  2      insert into test values(1, '001',null,null);
  3      insert into test values(2, '001','001001',null);
  4      insert into test values(3, '001','001001','001001001');
  5      insert into test values(4, '001','001001','001001002');
  6  end;
  7  /
PL/SQL procedure successfully completed
SQL> col id format a10 ;
SQL> select id, coalesce(r3,r2,r1) result from test;
        ID RESULT
---------- ----------
         1 001
         2 001001
         3 001001001
         4 001001002
SQL> drop table test purge ;
Table dropped

SQL> 
jiangliangtong 2016-11-28
  • 打赏
  • 举报
回复
我是初学者,来学习!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧