У меня есть таблица в SQL Server, как показано ниже:
Name Col1 Col2 Col3 Col4
A din gla gif cla
B gla cla gif din
C din gif cla null --gla is missing
D null cla gla null --din and gif is missing
Важно только, если у «имени» есть метка в любом из столбцов или нет. Мне нужно вернуть набор результатов таким образом, чтобы каждый столбец представлял определенное значение, как показано ниже:
Name Col1 Col2 Col3 Col4
A din gla gif cla
B din gla gif cla
C din null gif cla
D null gla null cla
Я справился с запросом вроде:
select name,
col1 = case when col1='din' or col2='din' or col3='din' or col4='din' then 'din' else null end,
...
from table
Однако в оригинале есть много столбцов, а не только 4, и этот способ мне не кажется лучшим. Интересно, можете ли вы порекомендовать лучшие подходы? Любой совет будет оценен.