你能帮我以下面的格式显示表格输出吗?
问问题
72 次
2 回答
1
如果您拥有详尽的国家/地区列表,则必须将所有国家/地区都包含在查询中,如果列表是动态的,那么这是一个问题,唯一的方法是通过动态 sql。请试试这个并告诉我们:
SELECT
ObjectName,
CZ,HQ,RO,BR,SK
FROM (
SELECT * FROM yourtable
) AS X
PIVOT
(
SUM(counts)
FOR CountryName
IN (
[CZ],[HQ],[RO],[BR],[SK]
)
) AS PivotX
于 2021-05-17T17:11:51.857 回答
1
DECLARE @cols AS NVARCHAR(MAX), @query AS NVARCHAR(MAX);
SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.CountryName) FROM #temptest c FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)') ,1, 1,'')
set @query = 'SELECT ObjectName, ' + @cols + ' from (select ObjectName,CountryName,counts from #temptest ) x pivot ( max(counts) for CountryName in (' + @cols + ') ) p '
执行(@查询)
于 2021-05-17T18:01:04.190 回答