首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

在存储过程中小弟我取到两组数据放到临时表中怎么办能得到小弟我想要的结果

2013-09-07 
在存储过程中我取到两组数据放到临时表中怎么处理能得到我想要的结果A表cCusCodecInvCode cdate quantity0

在存储过程中我取到两组数据放到临时表中怎么处理能得到我想要的结果
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)

热点排行