求教一个sql查询

xuexueCN 2013-09-04 02:27:45
一共返回三行数据 字段A B C
怎样使不满足条件的第二行的B C 两个字段返回空?
...全文
100 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andy__Huang 2013-09-04
  • 打赏
  • 举报
回复
引用 5 楼 sefwhy 的回复:
[quote=引用 3 楼 hdhai9451 的回复:] select A,B,C=case when isnull(B,'')='' then '' else C) from tb
http://bbs.csdn.net/topics/390581734 求解。。。[/quote] 原来不是同一个人,嘿嘿~~~
Andy__Huang 2013-09-04
  • 打赏
  • 举报
回复
create table #tb( id int,  tid int)
insert into #tb
select 1,NULL
union all select 2,NULL
union all select 3,NULL
union all select 4,NULL
union all select 5,NULL
union all select 6,2
union all select 7,2
union all select 8,1
union all select 9,3

select *
from 
	(select distinct a.*
	from #tb a
	left join #tb b on a.id=b.tid
	)a
order by case when a.tid IS null then a.id else a.tid end,a.tid
drop table #tb

/*
id	tid
1	NULL
8	1
2	NULL
6	2
7	2
3	NULL
9	3
4	NULL
5	NULL
*/
ieh2014 2013-09-04
  • 打赏
  • 举报
回复
引用 3 楼 hdhai9451 的回复:
select A,B,C=case when isnull(B,'')='' then '' else C) from tb
http://bbs.csdn.net/topics/390581734 求解。。。
灬浪子灬 2013-09-04
  • 打赏
  • 举报
回复
获取数据之前可以处理 得到数据也库处理啊
Andy__Huang 2013-09-04
  • 打赏
  • 举报
回复
select A,B,C=case when isnull(B,'')='' then '' else C) from tb
xuexueCN 2013-09-04
  • 打赏
  • 举报
回复
引用 1 楼 hdhai9451 的回复:
不满足条件?是什么条件你举例出来
如果B为空 那么 C 即使有值也给他返回空值
Andy__Huang 2013-09-04
  • 打赏
  • 举报
回复
不满足条件?是什么条件你举例出来

34,587

社区成员

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

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