日期:2014-05-18  浏览次数:20528 次

使用Group by 不是数字可以统计吗?
例如表Ta

names(字段)         gongsi1(字段)         gongsi2(字段)  
nanjing                   AAAA                           null
nanjing                   NULL                           BBBB


现在要改为

names(字段)         gongsi1(字段)         gongsi2(字段)  
nanjing                   AAAA                           BBBB


这个SQL怎么写啊??




------解决方案--------------------
select names,
gongsi1=max(isnull(gongsi1, ' ')),
gongsi2=max(isnull(gongsi2, ' '))
from Ta
group by names
------解决方案--------------------
ls
正解...
------解决方案--------------------
select names,
gongsi1=max(case then gongsi1 is null then ' 'else gongsi1 end),
gongsi2=max(case then gongsi2 is null then ' 'else gongsi2 end)
from Ta
group by names

这其实也是一种比较行列转换的方法

------解决方案--------------------
select t1.names,
a=case when t1.gongsi1 is null then t2.gongsi1 else null end,
b=case when t1.gongsi2 is null then t2.gongsi2 else null end
from table t1
inner join table t2 on t1.names=t2.names