我需要连接行(尾)。例如,对于code_commande 001和code_article = 1,我需要在列表中连接所有具有这两个条件的尾巴。另一个示例,对于code_commande = 001和code_article = 2,我需要在列表中串联的所有作业都具有这两个条件,这是我需要串联的作业。这对所有人
code_commande code_article taille 001 1 s 001 1 m 001 1 xl 001 1 x52 001 2 m 001 1 5566 001 2 x52 001 1 xl 002 1 s 002 2 m 001 3 xxl 002 3 xs 001 1 ml 001 1 xs32
我需要为每个code_article的每个code_commande合并尾巴 结果的例子:
001 1 s,m,xl etcc
动态
我应该有一个表,将每个code_article的每个code_commande的(tail)分组为: 001 1 s,m,xl, 001 2 s,xl,l 002 1 xs,ettcc 我已经尝试过此查询,但是,它将所有行的所有(尾巴)连接起来 查询
选择[code_commande],[code_article],SUBSTRING( ( SELECT','+ [taille] AS'data()' 从[dbo]。[commande] FOR XML PATH('') ),2,9999)作为taille_commande 来自[dbo]。[commande] 按[code_article],[code_commande] desc
排序答案 0 :(得分:0)
如上所述,STRING_AGG()
是您满足此要求的朋友。假设您的原始帖子包含您正在使用的架构,则简单的汇总查询将为您提供所需的结果。
select code_commande, code_article, STRING_AGG(taille, ',') as taille_commande
from dbo.commande
group by code_commande, code_article
请注意,这仅在SQL Server 2017+和azure中可用。要查看以前版本的可能解决方案,请参阅this duplicate。