SQL server: Transpose Rows to Columns (n:m relationship)

ぃ、小莉子 提交于 2019-12-05 19:06:16

I believe the query below is what you are looking for. Adjust the column and table names as needed to fit your database.

DECLARE @sql AS NVARCHAR(MAX)
DECLARE @cols AS NVARCHAR(MAX)

SELECT @cols= ISNULL(@cols + ',','') + QUOTENAME(Descr)
FROM Faehigkeiten ORDER BY faeID 

SET @sql = N'
    SELECT mitID, Name, FamName, DOB, abtIDref, ' + @cols + '
    FROM (
       SELECT mitID, Name, FamName, DOB, abtIDref, [when], descr 
       FROM Mitarbeiter m
       JOIN [Link-List] l ON m.mitID = l.mitIDref
       JOIN Faehigkeiten f ON f.faeID = l.feaIDref
    ) a
    PIVOT(MAX([when]) FOR descr IN (' + @cols + ')) p'

EXEC sp_executesql @sql
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!