数据库中行列转换



SELECT *,1 AS dynum FROM dbo.SG_Gatherings WHERE CHARINDEX(',',vEmpCode)=0
UNION ALL
SELECT vmbillid,SUBSTRING(vempcode,number,CHARINDEX(',',vempcode+',',number)-number) FROM (SELECT vMBillID,vempcode FROM dbo.SG_Gatherings WHERE CHARINDEX(',',vEmpCode)>0) AS a,master..spt_values  --number 里面记录着每个明细的开始位置
WHERE  type = 'p' AND number>0 AND number <= LEN(vempcode) AND SUBSTRING(','+vempcode,number,1)=','

========================================

行转换为列


SELECT * 
INTO test2
FROM
(SELECT 'a' a,'b' b,'33333' c
UNION 
SELECT 'a','b','4444'
UNION
SELECT 'a','c','5555') AS ddd




SELECT  a , b ,
        ( STUFF(( SELECT    ';' + c
                  FROM      test2
                  WHERE     a + '_' + b = dd.a + '_' + dd.b
                  ORDER BY  a + '_' + b
                FOR
                  XML PATH('')
                ), 1, 1, '') ) AS cd
FROM    test2 AS dd
GROUP BY a,b
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值