首页 > 解决方案 > 需要通用转置脚本

问题描述

在此处输入图像描述

以下是特定交易 ID 的表格

TransactionId FirstName Lastname ContactNo ....
    27           John      A        123
    27           Mark      B        124 

我需要像

TransactionId FirstName Lastname ContactNo FirstName Lastname ContactNo ....
   27           John       A        123       Mark      B        124

标签: sqlpivottranspose

解决方案


SELECT @col_list = Stuff((SELECT ',id = max(case when id = '
                             + Cast(id AS VARCHAR(50))
                             + ' then id end), mobilenumber = max(case when id = '
                             + Cast(id AS VARCHAR(50))
                             + ' then mobilenumber  end)'                                
                      FROM   [dbo].[TransactionContact] where  transactionid in (137103,137102)

                      ORDER  BY id
                      FOR xml path('')), 1, 1, '')

EXEC('select '+@col_list+' from [dbo].[TransactionContact]')

这按照上面的方法工作,但是为同一行而不是不同行中的所有 transactionid 带来了联系


推荐阅读