【发布时间】:2018-08-06 09:43:55
【问题描述】:
我有一个这样的表#tmp:
recid DefaultDimension DefaultDimensionName line_no
5637423499 Default Employee 7
5637423499 1001 Product 8
5637423499 100 Region 2
5637423499 1 Routing 17
5637423499 115 Section 5
5637423499 999 Unit 6
5637423499 1510 Branch 3
5637423499 A CabinClass 14
5637423499 0B Carrier_Property 9
5637423499 103 Channel 16
5637423499 104 Department 4
5637423499 113 Division_CustomerType 1
我想根据 line_no 的升序连接 DefaultDimension 和 DefaultDimensionName 列
这是我写的查询,但我没有按顺序:
select recid,
STRING_AGG(DefaultDimension, '-') WITHIN GROUP (ORDER BY line_no ASC) DefaultDimension,
STRING_AGG(DefaultDimensionName, '-') WITHIN GROUP (ORDER BY line_no ASC) DefaultDimensionName
from #tmp
group by recid
结果:
recid DefaultDimension DefaultDimensionName
5637423499 113-A-103-1-100-1510-104-115-999-Default-1001-0B Division_CustomerType-CabinClass-Channel-Routing-Region-Branch-Department-Section-Unit-Employee-Product-Carrier_Property
如您所见,CabinClass 应该排在倒数第三位,但它排在第二位。
【问题讨论】:
-
您的
line请输入?好像是varchar。作为'1' -
谢谢。这就是问题所在。发布它作为答案,我会接受。
标签: sql sql-server sql-server-2017