Sql 从一个表中选择一个子表,然后选择concat行作为结果
我正在从两个表的查询中查找此结果。希望将第二个表中的结果合并为一列。(TXM,TRD)。我的大脑忘记了如何在MS Sql中执行此操作:Sql 从一个表中选择一个子表,然后选择concat行作为结果,sql,Sql,我正在从两个表的查询中查找此结果。希望将第二个表中的结果合并为一列。(TXM,TRD)。我的大脑忘记了如何在MS Sql中执行此操作: **FirstName LastName Training** Tom Smith TXM, TRD **Table 1** Id FirstName LastName 1 Tom Smith **Table 2** UserId Training 1 TXM 1 TRD 提前感谢您的
**FirstName LastName Training**
Tom Smith TXM, TRD
**Table 1**
Id FirstName LastName
1 Tom Smith
**Table 2**
UserId Training
1 TXM
1 TRD
提前感谢您的帮助。您正在寻找
STUFF-for-XML路径(“”)
技巧:
SELECT FirstName, LastName,
STUFF((SELECT ', ' + Training
FROM [Table 2] t2
WHERE t2.UserId = t1.Id
FOR XML PATH('')), 1, 2, '') AS Training
FROM [Table 1] t1
从结果集中创建一个连接字符串,并将前两个字符替换为零,从而删除多余的逗号和空格
别忘了子查询必须用一对括号括起来。但是你的解剖结构的其他部分还记得吗!?!?不管怎么说,它叫JOINWorks,就像一个符咒,谢谢。不会想到会有一个STUFF函数。