当前位置: 代码迷 >> Sql Server >> 一个筛选有关问题
  详细解决方案

一个筛选有关问题

热度:45   发布时间:2016-04-24 20:34:25.0
一个筛选问题
有表如下:
field1 field2 field3
張三 5 A
張三 B
張三 56 C
張三 4 A
李四 8 T
李四 5 E
李四 2
李四 3 E
李四 4 Y
李四 7 Y
王五 8 T
王五 8 H
王五 4 G
趙六 2 J
趙六 34 E
趙六 5 Y
趙六 6 U
趙六 4 H
趙六 8 B
趙六 7 F
趙六 8 R
请问如何可以选出field2,field3都不是空的人,并且distinct出来人名?

------解决方案--------------------
create table #tb(field1 varchar(10),field2 varchar(10),field3 varchar(10))
insert into #tb
select '張三','5','A'
union all select '張三',null,'B'
union all select '張三',56,'C'
union all select '張三',4,'A'
union all select '李四',8,'T'
union all select '李四',5,'E'
union all select '李四',2,null
union all select '李四',3,'E'
union all select '李四',4,'Y'
union all select '李四',7,'Y'
union all select '王五',8,'T'
union all select '王五',8,'H'
union all select '王五',4,'G'
union all select '趙六',2,'J'
union all select '趙六',34,'E'
union all select '趙六',5,'Y'
union all select '趙六',6,'U'
union all select '趙六',4,'H'
union all select '趙六',8,'B'
union all select '趙六',7,'F'
union all select '趙六',8,'R'

select distinct field1
from #tb 
where field1 not in(select field1 from #tb where isnull(field1,'')='' or isnull(field2,'')='')

drop table #tb


/*
李四
王五
趙六

*/
  相关解决方案