行专列
DLARE @cols NVARCHAR(MAX);
DECLARE @sql NVARCHAR(MAX);
-- 获取要转换的动态字段值列表
SELECT @cols = STUFF((SELECT DISTINCT ',' + QUOTENAME(value)
FROM your_table
FOR XML PATH('')), 1, 1, '');
-- 构建动态 SQL
@sql = 'SELECT *
FROM
(
SELECT id, value
FROM your_table
) AS source_table
PIVOT
(
COUNT(1) FOR value IN (' + @cols + ')
) AS pivot_table';
-- 执行动态 SQL
EXECUTE(@sql);

浙公网安备 33010602011771号