0

我正在使用以下查询:

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 列表?

4

2 回答 2

1

对于分隔列表,您可以使用 XML Path 子句。这是解释:http: //blog.sqlauthority.com/2013/04/05/sql-server-group-by-rows-and-columns-using-xml-path-efficient-concating-trick/

于 2013-07-26T17:45:25.957 回答
0

您可以使用此处找到的此方法

USE AdventureWorks
GO

DECLARE @listStr VARCHAR(MAX)
SELECT @listStr = COALESCE(@listStr+',' ,'') + Name
FROM Production.Product
SELECT @listStr
GO
于 2013-07-26T17:47:53.447 回答