1
我有一個動態的列標題一個SQL Server支點查詢導致類似下面的多列標題
| DATE | Key1 | Key2 | Key 3 | Key4 |
|--------|---------------|---------------|-------------------|-----------|
| 1 | 1 | 2 | 3 | 4 |
| 2 | 1.29400 | 0.33840 | 0.04270 | (null) |
| 3 | 60.00000 | 70.00000 | 50.00000 | 180.00000 |
我的「關鍵」列標題字段TSQL樞軸具有子項,以便鍵1和鍵2可以有同樣的子項,我想回像我下面的支點,讓我有多個列標題:
| DATE | Key1 | Key2 | Key 3 | Key4 |
|--------|---------------|---------------|-------------------|-----------|
| | subkey1 | subkey2 | subkey3 | subKey4|
|--------|---------------|---------------|-------------------|-----------|
| 1 | 1 | 2 | 3 | 4 |
| 2 | 1.29400 | 0.33840 | 0.04270 | (null) |
| 3 | 60.00000 | 70.00000 | 50.00000 | 180.00000 |
我當前的代碼簡化如下:
DECLARE @cols AS NVARCHAR(MAX)
DECLARE @query AS NVARCHAR(MAX)
SELECT key, subkey, value into #temp from table
SELECT @cols = STUFF((SELECT ',' + QUOTENAME([key])
FROM #temp
GROUP BY [Key]
ORDER BY [Key]
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT [date], ' + @cols + ' from
(
select [key], [date], value
from #temp
) x
pivot
(
sum(value)
for [key] in (' + @cols + ')
) p
ORDER BY [Date] asc'
execute(@query)
是否有可能在sql中像這樣堆疊列標題?在excel中,這將類似於在「列」區域中添加多個透視字段
,你將有隻有一個頭,如果這是用於顯示目的,這樣做在演示模塊 – TheGameiswar
你應該檢查這個https://blogs.msdn.microsoft.com/kenobonn/2009/03 /第22 /樞軸對二或更多的場合的SQL服務器/ –