日期:2014-05-17 浏览次数:20547 次
declare @sql nvarchar(max)
select @sql=isnull(@sql+',','')+ quotename(食品名称)+'数量' from 食品表 group by 食品名称
set @sql='select * from (select a.客户编号,b.食品名称,a.数量 from 数量表 a,食品表 b where a.食品编号=b.食品编号)t
pivot (sum(数量) for 食品名称 in ('+@sql+'))a'
select @sql
exec(@sql)
declare @sql nvarchar(max)
select @sql=ISNULL(@sql,'')+',sum(case when 食品编号='''+食品编号+''' then 数量 else 0 end)['+食品名称+'数量]' from 食品表
exec('select 客户编号'+@sql+' from 数量表 group by 客户编号')