如果列不为空,我正在尝试创建将列标题标题与其值连接的查询,例如
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
这给出了所需的null结果。我有超过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
答案 0 :(得分:0)
ZLK ..仍然需要我手动选择所有列..我有超过50列的文件,更不用说超过30个文件..有没有办法动态地这样做?