Я пытаюсь создать запрос, который объединяет заголовок столбца со своим значением, если столбец не пустой, например,
CREATE TABLE Table1
([C1] varchar(50), [C2] varchar(50), [C3] varchar(50),[C4] varchar(50),[C5] varchar(50) )
;
INSERT INTO Table1
([C1], [C2], [C3], [C4], [C5])
VALUES
('F92', 'title',null,null,'B350'),
('F92', 'title',null,null,'B150'),
('F92', 'title',null,null,'PB100')
;
SELECT
CASE WHEN c3 IS NULL THEN null ELSE c3+c5 END
FROM table1
drop table table1
это дает желаемый результат нуля. У меня более 50 строк и более 30 файлов (с именами переменных столбцов), поэтому написание запроса на выборку для каждого столбца займет слишком много времени, и количество столбцов также может измениться!
Возможно ли написать один запрос, который просматривает все столбцы в таблице и возвращает результат следующего запроса, не записывая его каждый раз для каждого столбца
SELECT
CASE WHEN c1 IS NULL THEN null ELSE 'c1'+c1 END,
CASE WHEN c2 IS NULL THEN null ELSE 'c2'+c2 END,
CASE WHEN c3 IS NULL THEN null ELSE 'c3'+c3 END,
CASE WHEN c4 IS NULL THEN null ELSE 'c4'+c4 END,
CASE WHEN c5 IS NULL THEN null ELSE 'c5'+c5 END
FROM table1