【发布时间】:2014-08-14 05:12:12
【问题描述】:
DECLARE @DynamicPivotQuery AS NVARCHAR(MAX)
DECLARE @ColumnName AS NVARCHAR(MAX)
--Get distinct values of the PIVOT Column
SELECT @ColumnName= ISNULL(@ColumnName + ',','')
+ QUOTENAME(ACT_DESC)
FROM (SELECT DISTINCT ACT_DESC FROM tpc) AS desc
--Prepare the PIVOT query using the dynamic
SET @DynamicPivotQuery =
N'SELECT MDCODE, ' + @ColumnName + '
FROM tpc
PIVOT(MAX(ACTUAL_DATE)
FOR tpcIN (' + @ColumnName + ')) AS PVTTable'
--Execute the Dynamic Pivot Query
EXEC sp_executesql @DynamicPivotQuery
此查询显示:
MDCODE | sample1 | sample2
--------------------------
123 | 1/2014 |
123 | | 2/2014
123 | | 3/2014
我想要的是这个:
MDCODE | sample1 | sample2
--------------------------
123 | 1/2014 | 2/2014,3/2014
有人知道如何连接列数据吗?有什么建议吗?
这是我获取数据的表格:
mdcode | act_desc | actual_date
--------------------------
1234 | sample1 | 1/2014
1234 | sample2 | 2/2014
1234 | sample2 | 3/2014
actual_date 是日期时间
【问题讨论】:
-
为什么不显示您要从中提取数据的表中的数据是什么样子,以便我们思考如何得出您所描述的结论?
-
第一个提示:关闭关闭您的大写锁定!全部大写很烦人,真的很难阅读,它被认为是对人们 大喊 - 那些可能能够帮助你的人。这很粗鲁 - 只是不要这样做!
-
对不起,我是新来的,我不这样做,也不感谢您的关注
-
@Ahmad 我发布了我获取数据的表格
标签: sql sql-server pivot concat sql-server-group-concat