如何在sql中使用Comma Seperator?

时间:2016-06-20 06:27:49

标签: sql-server-2008

我有4列,其中一列id,其他列(A,B,C)有二进制值。

我希望结果像(A,B,C)value = 1。然后必须在新列(D)中以逗号分隔值显示特定列名。

我想要如下结果。有人可以帮帮我吗?

Id A B C D
1  1 1 0 A,B 
2  0 1 0 B
3  0 1 0 B
4  1 0 1 A,C
5  1 0 1 A,C 

1 个答案:

答案 0 :(得分:1)

一个简单的CASE表达式就可以了:

SELECT *,
    D = 
        STUFF((
            CASE
                WHEN A = 1 THEN ',A'
                ELSE ''
            END + 
            CASE
                WHEN B = 1 THEN ',B'
                ELSE ''
            END + 
            CASE
                WHEN C = 1 THEN ',C'
                ELSE ''
            END 
        ), 1, 1, '')
FROM tbl