在组上获取公共列值

时间:2018-12-06 15:28:02

标签: sql

我有如下表格:

id  req
1   a
1   b
2   a
2   c
3   a
4   d

因此,req列中的值'a'是常见的Accoros ID 1,2,3。我该如何实现?

1 个答案:

答案 0 :(得分:0)

在这里,它将为您提供哪个ID映射到哪个req

_all

输出如下:-

CREATE TABLE #test (id int,  req varchar(1))

INSERT INTO #test VALUES
(1,   'a'),
(1,   'b'),
(2,   'a'),
(2,  'c'),
(3,   'a'),
(4,   'd')

SELECT req
    ,abc = STUFF((
            SELECT ',' + CONVERT(VARCHAR(11), ID)
            FROM #test t2
            WHERE t2.req = t1.req
            FOR XML PATH('')
            ), 1, 1, '')
FROM #test t1
GROUP BY req

DROP TABLE #test