我有一個包含兩列TransDateString和TransDate的數據集。 TransdateString簡直Transdate的nvarchar的版本,所以數據是這樣的:我的t-sql查詢的部分結果不合法
TransDate | TransDateString
2011-1-4 | 1-2011
2004-6-5 | 6-2004
2010-10-14| 10-2010
2012-7-21 | 7-2012
2010-10-11| 10-2010
2012-7-5 | 7-2012
我試圖做的是TransDate得到TransDateString到一個變量依次是:
SET @cols = STUFF((
SELECT ',' + QUOTENAME(A.TransDateString) FROM
(
Select c.TransDateString,
Row_Number() Over (Partition By c.TransDateString Order By c.TransDate asc) RowNum
FROM #dataSet c
) A
Where RowNum = 1
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
這工程,但他們不是爲了。在運行時,我得到的東西像@cols=[[1-2011],[10-2010],[6-2004],[7-2012]]
SQL Server 2106有一個[STRING_AGG](https://msdn.microsoft.com/en-us/library/mt790580.aspx)方法。你正在使用哪種SQL Server版本? –
SQL Server 2008 R2不再受支持。升級時間。 BTW [2016 SP1](https://sqlperformance.com/2016/11/sql-server-2016/big-deal-sp1)將內存表,壓縮,列存儲索引,分區引入Express Edition和LocalDb –