我正在从两个表的查询中查找此结果。希望将第二个表中的结果合并为一列。 (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
提前感谢您的协助。
答案 0 :(得分:1)
您正在寻找STUFF-FOR XML PATH('')
技巧:
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
FOR XML PATH('')
从结果集创建一个连接字符串,STUFF
替换前两个字符,删除额外的逗号和空格。
不要忘记子查询必须括在一对括号中。