从两列中选择不同的元素,并在sql中分隔逗号

时间:2013-11-05 12:27:31

标签: sql sql-server

我有一个包含两列的表

col1     col2
 a        b
 b        a
 c        d
 d        a

我希望得到这两个列的不同值以及逗号分隔。 预计出局就像这样

a,b,c,d

2 个答案:

答案 0 :(得分:4)

以下示例将行值连接到变量

DECLARE @val nvarchar(max)
SELECT @val = COALESCE(@val + ',' + col1, col1)
FROM (SELECT col1
      FROM dbo.twoColumns
      UNION
      SELECT col2
      FROM dbo.twoColumns
      ) x
SELECT @val

SQLFiddle上的演示

答案 1 :(得分:2)

尝试这个,我认为非常容易

select group_concat(distinct(c)) as d
from 
(
  select col1 c from your_table
  union
  select col2 c from your_table
) as d