SQL-基于YES或NULL值,分配新值并连接新值

时间:2018-11-19 20:13:43

标签: sql-server-2012

我有六个唯一的列(我们将它们分别称为A,B,C,D,E,F),它们的值都是YES或NULL。在新列中(我们称其为NEW),如果值是YES,则需要输入列名(A,B,C,D,E,F)。我还需要将这些值连接起来,并以逗号分隔。

我一直在使用SELECT / CASE / IF / THEN / ELSE语句,但是没有成功。

对任何可以提供的指导表示赞赏。

1 个答案:

答案 0 :(得分:0)

您可以使用CONCAT

SELECT CONCAT(  CASE WHEN A = 'YES' THEN 'A' END,
                ',' + CASE WHEN B = 'YES' THEN 'B' END,
                ',' + CASE WHEN C = 'YES' THEN 'C' END,
                ',' + CASE WHEN D = 'YES' THEN 'D' END,
                ',' + CASE WHEN E = 'YES' THEN 'E' END) NEW
FROM dbo.YourTable
;