我有两个表,我喜欢组合在一起,第一个只是一个普通的表。但第二个结构我遇到了问题。 我需要将列[Name]中的行转换为列。我遇到的两个问题是图片只显示来自一个id的数据,我需要转换不同的列列表,然后将[value]列显示为行。第二个问题是在仍然与图中的表一起加入主表时执行所有这些操作。我知道枢轴存在,我已经尝试过了。但是无法让它工作,只需使用主表。 有人有想法要解决这个问题吗? 这是我不成功的尝试。
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT ',' + QUOTENAME([Name])
from [dbo].[TfsItem]
group by [Name]
order by [Name]
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
SELECT @cols
set @query = N'SELECT ' + @cols + N' from
(
select value, [Name]
from [dbo].[TfsItem]
) x
pivot
(
max(value)
for [Name] in (' + @cols + N')
) p '
exec sp_executesql @query;