【发布时间】:2020-12-07 01:59:40
【问题描述】:
我正在使用FOR XML PATH 进行组连接,但它没有将颜色分组为最终结果。
select distinct
m1.inv_mast_uid,
m1.short_code,
m1.class_id1,
m1.class_id5,
stuff((select distinct '' + ud.color + ', '
from inv_mast m2
join inv_mast_ud as ud on ud.inv_mast_uid = m2.inv_mast_uid
where m1.inv_mast_uid = m2.inv_mast_uid
for xml path(''), type).value('.', 'nvarchar(max)'), 1, 0, '') as colors
from
inv_mast as m1
表格 inv_mast
inv_mast_uid short_code class_id1 class_id5
-------------------------------------------
469 EPHESUS EPHESUS 10X16
470 EPHESUS EPHESUS 10X16
471 EPHESUS EPHESUS 13X13
472 EPHESUS EPHESUS 13X13
707 EPHESUS EPHESUS NULL
表格 inv_mast_ud
inv_mast_uid color
-------------------------------------------
469 Brown
470 Ivory
471 Brown
472 Ivory
707 Brown
当前结果:
short_code class_id1 class_id5 colors
-------------------------------------------
EPHESUS EPHESUS NULL Brown,
EPHESUS EPHESUS 10X16 Brown,
EPHESUS EPHESUS 10X16 Ivory,
EPHESUS EPHESUS 13X13 Brown,
EPHESUS EPHESUS 13X13 Ivory,
期望的结果
short_code class_id1 class_id5 colors
-------------------------------------------------
EPHESUS EPHESUS NULL Brown, Ivory
EPHESUS EPHESUS 10X16 Brown, Ivory
EPHESUS EPHESUS 13X13 Brown, Ivory
【问题讨论】:
-
您使用的是什么版本的 SQL Server?
-
Microsoft SQL Server 2014 (SP3-GDR) (KB4532095) - 12.0.6118.4 (X64) 2019 年 12 月 12 日 21:46:15 版权所有 (c) Microsoft Corporation Enterprise Edition:基于内核的许可 (64 -bit) 在 Windows NT 6.3
(Build 9600: ) 上
标签: sql-server xml tsql