SQL - на основе значения YES или NULL назначьте новое значение и объедините новые значения - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть шесть уникальных столбцов (давайте просто назовем их A, B, C, D, E, F), которые имеют либо YES, либо NULL в качестве значения. В новом столбце (назовем его NEW) мне нужно ввести имя столбца (A, B, C, D, E, F), если значение YES. Мне также нужно, чтобы эти значения были объединены, разделены запятой.

Я играл с инструкциями SELECT / CASE / IF / THEN / ELSE, но безуспешно.

Любое руководство, которое может быть предложено, приветствуется.

1 Ответ

0 голосов
/ 19 ноября 2018

Вы можете использовать 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
;
...