我有六个唯一的列(我们将它们分别称为A,B,C,D,E,F),它们的值都是YES或NULL。在新列中(我们称其为NEW),如果值是YES,则需要输入列名(A,B,C,D,E,F)。我还需要将这些值连接起来,并以逗号分隔。
我一直在使用SELECT / CASE / IF / THEN / ELSE语句,但是没有成功。
对任何可以提供的指导表示赞赏。
答案 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
;