行转列笔记

DECLARE @sql VARCHAR (MAX),@sql2 VARCHAR (MAX),@sql3 VARCHAR (MAX)

--设置行转列字段

SELECT @sql = ''
SELECT @sql = @sql + ',' + '[' + rtrim (b.bugno) + ']' FROM (SELECT DISTINCT q.bugno,qd.bugname FROM qaaETmxb q right JOIN dbo.QAAqdmxb qd ON q.bugno=qd.bugno WHERE q.bugno<>'') b
SELECT @sql=STUFF(@sql, 1 , 1, '')

--求和 行转列的字段

SELECT @sql3 = ''
SELECT @sql3 = @sql3 + ',' + 'SUM([' + rtrim (b.bugno) + ']) [' + rtrim (b.bugname) + ']' FROM (SELECT DISTINCT q.bugno,qd.bugname FROM qaaETmxb q right JOIN dbo.QAAqdmxb qd ON q.bugno=qd.bugno WHERE q.bugno<>'') b
SELECT @sql3  = STUFF(@sql3, 1 , 1, '')

SELECT @sql2 = 'SELECT chkno,pdctno,okqty,chkdate,checker,chkkind,keyin,indate,aggregation,yield,features,chkqty,'+@sql3+' FROM (SELECT q.chkno,pdctno,chkqty,okqty,chkdate,checker,chkkind,q.keyin,q.indate,aggregation,yield,features,bugqty,bugno FROM qaaETjcb q LEFT JOIN dbo.qaaETmxb qa ON q.chkno=qa.chkno) a PIVOT 
(
    SUM(bugqty)
    FOR bugno IN ('+@sql+') 
) r group by chkno,pdctno,chkqty,okqty,chkdate,checker,chkkind,keyin,indate,aggregation,yield,features'
exec (@sql2)

SELECT @sql2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值