select ID,Item1,Item2,Item3
into #Temp
from (
select ID='200910',Item1='A',Item2='B',Item3='C'
union all
select ID='200910',Item1='',Item2='B',Item3='C'
union all
select ID='200910',Item1='A',Item2='D',Item3='C'
union all
select ID='200911',Item1='A',Item2='D',Item3='C'
union all
select ID='200911',Item1='A',Item2='',Item3='E'
union all
select ID='200911',Item1='',Item2='',Item3='C'
) Tab
select * from #Temp
--求一条SQL语句得到以下结果
ID Item1 Item2 Item3
'200910' ' ' 'B' 'C'
'200910' 'A' 'D' 'C'
'200911' 'A' ' ' 'E'
'200911' ' ' ' ' 'C'
逻辑:Item1,Item2,Item3只要是空值,就代表全部,如第二条记录代表的意义就包含第一条记录