在存储过程中我取到两组数据放到临时表中怎么处理能得到我想要的结果
A表
cCusCode cInvCode cdate quantity
01019 p012dw 第一周 1600.00
01019 sa213a 第一周 1500.00
01029 dsad12 第二周 1200.00
01001 dsad12 第二周 1200.00
B表
cCusCode cCusName cInvCode cInvName cInvCName
01001 A公司 dsad12 dsad12 成品
我想要的结果是
cCusCode cCusName cInvCode cInvName cInvCName 第一周 第二周 第三周
01001 A公司 dsad12 dsad12 成品 0 1200.00 500.00
[解决办法]
declare @sql varchar(8000)
set @sql = ''
select @sql=@sql +',['+a.cdate+']=isnull(SUM(CASE a.cdate WHEN '''+a.cdate+''' THEN rtrim(a.iQuantity) ELSE '''' END),'''')'
from #temp_table a group by a.cdate
set @sql = 'select b.cCusCode 客户编码,b.cCusName 客户名称,b.cInvCode 存货编码,b.cInvName 存货名称,b.cInvCName 存货分类,b.cSTName 销售方式 '+@sql+', sum(a.iQuantity) 销售订单数
from #temp_table a
join #temp_table_2 b on a.cCusCode=b.cCusCode and a.cInvCode=b.cInvCode
group by a.cCusCode,b.cCusCode,b.cCusName,a.cInvCode,b.cInvCode,b.cInvName,b.cInvCName,b.cSTName '
exec(@sql)