两种条件过滤合并到一个语句

pengdeoo 2013-11-09 04:55:16


select a from tab where num = 0


select b from tab where num <> 0

合并到一个语句
...全文
277 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lis_mode 2013-11-13
  • 打赏
  • 举报
回复
搞错了。。。。。
lis_mode 2013-11-13
  • 打赏
  • 举报
回复
select a, b from tab where ( num = 0 or num <> 0 )
Landa_Peter 2013-11-13
  • 打赏
  • 举报
回复

select case when num = 0
                 then a
            when num <> 0
                 then b
       end as C
from tab
發糞塗牆 2013-11-12
  • 打赏
  • 举报
回复
SELECT *
FROM (select a from tab where num = 0
UNION ALL 
select b from tab where num <> 0)a
wyufen 2013-11-12
  • 打赏
  • 举报
回复
SELECT (CASE WHEN Num = 0 THEN A ELSE NULL END) AS A, (CASE WHEN Num <> 0 THEN B ELSE NULL END) AS B FROM Tab
LongRui888 2013-11-09
  • 打赏
  • 举报
回复
引用 楼主 pengdeoo 的回复:
select a from tab where num = 0 select b from tab where num <> 0 合并到一个语句
你是想合并后,还是1列对吧,是这样吗:

--drop table tab

create table tab(a int,b int,num int)

insert into tab
select 1,2,100 union all
select 3,4,0


--注意字段a和字段b,是同一种数据类型
select case when num = 0
                 then a
            when num <> 0
                 then b
            else null
       end as xx
from tab
/*
xx
2
3
*/
icelovey 2013-11-09
  • 打赏
  • 举报
回复


SELECT (CASE WHEN Num = 0 THEN A ELSE NULL END) AS A, 
   (CASE WHEN Num <> 0 THEN B ELSE NULL END) AS B
FROM Tab


??没太明白 , 这样?

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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