declare @s nvarchar(4000)
set @s=''
select @s=@s
+N',[类型('+rtrim(类型)+N')重量]=sum(case c.类型 when '+quotename(rtrim(类型),'''')+' then b.重量 else 0 end)'
+N',[类型('+rtrim(类型)+N')个数]=sum(case c.类型 when '+quotename(rtrim(类型),'''')+' then 1 else 0 end)'
from 表3 group by 类型 order by min(na)
exec('
select a.name'+@s+'
from 表1 a,表2 b ,表3 c
where a.id=b.id and b.na=c.na
group by a.name')
set @s=''
select @s=@s
+N',[类型('+rtrim(类型)+N')重量]=sum(case c.类型 when '+quotename(rtrim(类型),'''')+' then b.重量 else 0 end)'
+N',[类型('+rtrim(类型)+N')个数]=sum(case c.类型 when '+quotename(rtrim(类型),'''')+' then 1 else 0 end)'
from 表3 group by 类型 order by min(na)
exec('
select a.name'+@s+'
from 表1 a,表2 b ,表3 c
where a.id=b.id and b.na=c.na
group by a.name')
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货