我正在使用以下查询:
DECLARE @Code varchar(6)
SELECT a.Code, a.Description, a.Time, b.id
FROM TableA a
LEFT OUTER JOIN TableB B ON a.id = b.id
WHERE a.Code = @Code
我遇到的问题是它因为外连接而返回多条记录,如下所示:
Code Description Time B.id
5038 sample desc 4 108
5038 sample desc 4 632
5038 sample desc 4 633
5038 sample desc 4 197
5038 sample desc 4 503
将这些组合成一个记录的最佳方式是什么,比如b.id的分隔列表?
答案 0 :(得分:1)
对于分隔列表,您可以使用XML Path子句。以下是解释:http://blog.sqlauthority.com/2013/04/05/sql-server-group-by-rows-and-columns-using-xml-path-efficient-concating-trick/
答案 1 :(得分:1)
我认为这篇文章也可以帮助你Combine Multiple Rows Into One Column with CSV output。
答案 2 :(得分:0)
您可以使用here
找到此方法USE AdventureWorks
GO
DECLARE @listStr VARCHAR(MAX)
SELECT @listStr = COALESCE(@listStr+',' ,'') + Name
FROM Production.Product
SELECT @listStr
GO