1
A
回答
2
可以使用動態交叉做到這一點:
DECLARE @sql1 VARCHAR(4000) = ''
DECLARE @sql2 VARCHAR(4000) = ''
DECLARE @sql3 VARCHAR(4000) = ''
SELECT @sql1 =
'SELECT
[Object]' + CHAR(10)
SELECT @sql2 = @sql2 +
' , MAX(CASE WHEN [Date] = CAST(''' + CONVERT(VARCHAR(8), [Date], 112) + ''' AS DATE) THEN [count] END) AS ' + QUOTENAME([Date]) + CHAR(10)
FROM(
SELECT DISTINCT [Date] FROM tbl
)t
ORDER BY [Date]
SELECT @sql3 =
'FROM tbl
GROUP BY [Object]
ORDER BY [Object]'
PRINT(@sql1 + @sql2 + @sql3)
EXEC (@sql1 + @sql2 + @sql3)
結果
| Object | 2015-01-01 | 2015-01-02 |
|--------|------------|------------|
| 1 | 10 | 34 |
| 2 | 20 | 46 |
| 3 | 130 | 78 |
| 4 | 40 | 89 |
| 5 | 55 | 45 |
這是PRINT
命令的輸出:
SELECT
[Object]
, MAX(CASE WHEN [Date] = CAST('20150101' AS DATE) THEN [count] END) AS [2015-01-01]
, MAX(CASE WHEN [Date] = CAST('20150102' AS DATE) THEN [count] END) AS [2015-01-02]
FROM tbl
GROUP BY [Object]
ORDER BY [Object]
+0
這對我有用。 –
2
您可以使用SQL Server PIVOT關係運算符
DECLARE @SQLQuery AS NVARCHAR(MAX)
DECLARE @PivotColumns AS NVARCHAR(MAX)
--Get unique values of pivot column
SELECT @PivotColumns= COALESCE(@PivotColumns + ',','') + QUOTENAME([Date])
FROM (SELECT DISTINCT [Date] FROM [dbo].[PivotExample]) AS PivotExample
--Create the dynamic query with all the values for
--pivot column at runtime
SET @SQLQuery =
N'SELECT ObjectId, ' + @PivotColumns + '
FROM [dbo].[PivotExample]
PIVOT(SUM(COUNT)
FOR [Date] IN (' + @PivotColumns + ')) AS P'
EXEC sp_executesql @SQLQuery
相關問題
- 1. 將特定的HTML結構轉換爲特定的XML結構
- 2. 將IImage轉換爲結構
- 3. 將結構轉換爲JSON
- 4. 如何將C#結構轉換爲C結構?
- 5. 如何將32位NTDLL結構轉換爲64位結構?
- 6. c#如何將結構數組轉換爲數組結構
- 7. 如何將Go結構轉換爲C結構?
- 8. 如何將此非結構化數據轉換爲結構化?
- 9. 如何將C++結構轉換爲C#結構
- 10. 如何將PWCHAR轉換爲FILETIME結構?
- 11. 如何將RETRIEVAL_POINTERS_BUFFER結構轉換爲Delphi?
- 12. 如何將mbox轉換爲JSON結構?
- 13. 如何將jbyteArray轉換爲結構?
- 14. 將XSLT轉換爲固定表結構
- 15. 在構建時將C++結構轉換爲C#結構
- 16. 如果將其他結構轉換爲開關盒結構
- 17. 將原始結構轉換爲如下所示的轉換數據結構
- 18. 如何轉換一個結構轉換爲const char(C++)爲結構的Objective-C
- 19. 如何將日期結構轉換爲char數組
- 20. 如何從一個結構轉換爲不同的結構?
- 21. 將const結構引用轉換爲非const結構指針
- 22. 將平面結構轉換爲分層結構
- 23. 將非結構化數據轉換爲結構化數據?
- 24. 無法將Weblogic結構類型轉換爲Oracle結構類型
- 25. 將C++轉換爲派生結構和父結構
- 26. 將數據結構轉換爲其他數據結構
- 27. 將Cython結構中的C結構轉換爲Python類
- 28. 使用xslt將xml結構轉換爲另一個xml結構
- 29. 如何將異構平面數據轉換爲數據結構
- 30. 如何轉換C#字節[]爲結構[]
出錯了預期的效果? 201145-01-02? –
您可能正在尋找一個動態數據透視表,或者只是一個正常的數據,如果您有固定的日期數 –
可能dublicate:http://stackoverflow.com/questions/30295640/how-to-return-dynamic-columns- from-grouped-values-in-sql-server-stored-proceduresur/30297102#30297102 – CeOnSql