我想完成以下任务:
ID serviceaccess
11 Value1
11 Value2
11 Value3
22 Value2
22 Value1
22 Value1
ID
11 value1, value2, value3
22 value2, value1, value1
但我不能使用东西STUFF((因为我的系统不支持它)。 这个链接并没有真正帮助。到目前为止,我已经尝试了一切,但是没有想法。感谢
SQL Server : GROUP BY clause to get comma-separated values
考虑到这一点,但是做到了工作。请帮忙:
WITH RecurRanked ( dbid, rnk, serviceaccess)
AS (
SELECT t.t1.dbid, t.t1.rnk, t.t2.serviceaccess || ', ' || t.t1.serviceaccess
FROM t.t1
INNER JOIN t.t2 ON t.t1.dbid = RecurRanked.dbid AND t.t1.rnk = RecurRanked.rnk + 1)
SELECT dbid, MAX(serviceaccess)
FROM RecurRanked
GROUP BY dbid;
SELECT t.t1.dbid, t.t1.rnk, t.t2.serviceaccess || ', ' || t.t1.serviceaccess
FROM t.t1
INNER JOIN t.t2 ON t.t1.dbid = t.t2.dbid AND t.t1.rnk = t.t2.rnk + 1