如何根据条件选择输出不同的sql语句结果集

alick723 2019-11-29 09:39:25
with test_sl as (
select count(client_id) as sl from client --语句已经简化,实际是很长的一段语句;
),

test_aa as (
select a,b from test1 --语句已经简化,实际是很长的一段语句;
),

test_bb as (
select a,b from test2 --语句已经简化,实际是很长的一段语句;
)


以下要实现如下要求:

如果test_sl中的数量大于0,就输出test_aa结果集;
如果test_sl中的数量等于0,就输出test_bb结果集;

备注:1、test_aa、test_bb结构、字段类型都一样
2、最好能在PL/SQL Developer中直接查询出结果
...全文
968 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
alick723 2019-11-29
  • 打赏
  • 举报
回复
经过测试,效果正好 谢谢
chengccy 2019-11-29
  • 打赏
  • 举报
回复
union all就行了
with test_sl as (
select 0 as sl from dual   --语句已经简化,实际是很长的一段语句;
),

test_aa as (
select 'aa' as a from dual    --语句已经简化,实际是很长的一段语句;
),

test_bb as (
select 'bb' as a from dual   --语句已经简化,实际是很长的一段语句;
)
select test_aa.* from test_aa ,(select sl from test_sl where sl>0)
union all 
select test_bb.* from test_bb ,(select sl from test_sl where sl=0)

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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