Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 以升序获取连接的行_Sql_Sql Server 2005_Tsql - Fatal编程技术网

Sql 以升序获取连接的行

Sql 以升序获取连接的行,sql,sql-server-2005,tsql,Sql,Sql Server 2005,Tsql,可能重复: 脚本:- CREATE TABLE Category ( ID int, ErrorMessage nvarchar(200) ) INSERT INTO Category (ID, ErrorMessage) VALUES (1, 'efgh') INSERT INTO Category (ID, ErrorMessage) VALUES (1, 'abcd') INSERT INTO Category (ID, ErrorMessage

可能重复:

脚本:-

CREATE TABLE Category (
  ID int,
  ErrorMessage nvarchar(200)
)


INSERT INTO Category 
  (ID, ErrorMessage)
VALUES
  (1, 'efgh')

INSERT INTO Category 
  (ID, ErrorMessage)
VALUES
  (1, 'abcd')

INSERT INTO Category 
  (ID, ErrorMessage)
VALUES
  (1, 'ijkl')

INSERT INTO Category 
  (ID, ErrorMessage)
VALUES
  (2, 'efgh')

INSERT INTO Category 
  (ID, ErrorMessage)
VALUES
  (2, 'abcd')

INSERT INTO Category 
  (ID, ErrorMessage)
VALUES
  (2, 'ijkl')
预期产量

Id                 ErrorMessage
----------------------------------
1                  abcd,efgh,ijkl
2                  abcd,efgh,ijkl

请注意,类别ID已分组,以逗号分隔的消息按升序排列。

您可以在不使用XML类型和值提取的情况下获得XML实体化您可以在不使用XML类型和值提取的情况下获得XML实体化
Select C.Id
    , Stuff(
        (
        Select ', ' + C1.ErrorMessage
        From Category As C1
        Where C1.Id = C.Id
        Order By C1.ErrorMessage
        For Xml Path('')
        ), 1, 2, '') As Categories
From Category As C
Group By C.Id
select A.ID, STUFF((
    select ','+B.ErrorMessage
    from Category B
    where B.ID = A.ID
    order by B.ErrorMessage
    for xml path ('a'), type).value('.','nvarchar(max)'),1,1,'')
from Category A
group by A.ID
order by A.ID