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. 如何将Go结构转换为C结构?
- 3. 如何将此非结构化数据转换为结构化?
- 4. 如何将C#结构转换为C结构?
- 5. c#如何将结构数组转换为数组结构
- 6. 如何将jbyteArray转换为结构?
- 7. 如何将PWCHAR转换为FILETIME结构?
- 8. 如果将其他结构转换为开关盒结构
- 9. 将原始结构转换为如下所示的转换数据结构
- 10. 如何将日期结构转换为char数组
- 11. 将平面结构转换为分层结构
- 12. 无法将Weblogic结构类型转换为Oracle结构类型
- 13. 将const结构引用转换为非const结构指针
- 14. 将C++转换为派生结构和父结构
- 15. 使用xslt将xml结构转换为另一个xml结构
- 16. 如何转换C#字节[]为结构[]
- 17. 转换为分层结构
- 18. 如何将我的json结构转换为C3.js所需的列结构
- 19. 如何将一个指向c结构的指针转换为jna结构
- 20. Swift 3 - 如何将包含结构的结构数组转换为JSON?
- 21. 转换的C结构以MATLAB结构
- 22. 将ColdFusion结构转换为XML
- 23. 将JSON数据转换为ColdFusion结构
- 24. ColdFusion将表单值转换为结构
- 25. Swift:将结构转换为JSON?
- 26. 将KeyEventArgs转换为KEYDBINPUT结构
- 27. 将C结构转换为FFI :: Struct
- 28. 将C++结构转换为C#
- 29. Elixir:将结构转换为erlang for sys.config
- 30. C将树结构转换为JSON
出错了预期的效果? 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