【发布时间】:2017-10-11 22:19:11
【问题描述】:
如何将结果集中的所有null 值替换为同一表中另一行的值? (就像一个后备查询)
示例架构:
CREATE TABLE parent (
id INTEGER NOT NULL AUTO_INCREMENT,
int1 INTEGER,
int2 INTEGER,
int3 INTEGER,
PRIMARY KEY (id)
)
查询:
SELECT * FROM table1
WHERE id = ?
但我需要将所有 null 值替换为另一行的值。我正在寻找这样的东西:
SELECT * FROM table1 WHERE id = ?
REPLACE ALL NULL VALUES WITH (
SELECT * FROM table1 WHERE id = ?
)
例子:
id int1 int2 int3
---------------------------
1 1 null 1
2 null null 1
3 1 4 0
当我首先查询 id 1 和 id 3 作为后备时,我希望结果是:
id int1 int2 int3
---------------------------
1 1 4 1
【问题讨论】:
-
CASE声明对您有帮助吗? -
我不知道,这就是我问的原因;)