【发布时间】:2018-04-13 12:14:13
【问题描述】:
我有一个在 SQL 中看起来像这样的数据集。
Col1 Col2 Col3
A 4 1
B 5 NULL
C 6 1
D 7 NULL
E 8 NULL
如果 Col3 = 1,我如何使用 Col2 中的值和 Col3 中的值添加新列,否则将现有值保留在 Col2 中。
最终预期输出:
Col1 Col2 Col3 Col4
A 4 1 1
B 5 NULL 5
C 6 1 1
D 7 NULL 7
E 8 NULL 8
我尝试了合并功能,但我认为它不起作用:
SELECT
Col1,
Col2,
Col3,
coalesce(Col3, Col2) AS Col4
FROM table1
【问题讨论】:
-
用您正在使用的数据库标记您的问题。
COALESCE()应该做你想做的。 -
左对齐 SQL 很难阅读。正确的格式让一切变得更容易。
-
应该是:coalesce(Col3, Col2)
-
谢谢我就是这么写的
标签: sql if-statement replace coalesce aginity