替换值

时间:2016-01-27 10:02:16

标签: plsql

我们在'X'和'Y'表中有列'a'。如果列'a'的值不为null,那么我们需要在'X'表中考虑,否则需要在'Y'表中考虑。

基于这个要求如何实现呢?

先谢谢

1 个答案:

答案 0 :(得分:0)

听起来你问的是NVL功能。基于有限的信息,希望这对你有用......

CREATE TABLE x(id int, a varchar(255));
INSERT INTO x(id, a) VALUES(1, 'One');
INSERT INTO x(id, a) VALUES(2, null);
INSERT INTO x(id, a) VALUES(3, 'Three');

CREATE TABLE y(id int, a varchar(255));
INSERT INTO y(id, a) VALUES(1, 'One');
INSERT INTO y(id, a) VALUES(2, 'Two');
INSERT INTO y(id, a) VALUES(3, 'Three');

select x.id, nvl(x.a,y.a) a
from x, y
where x.id = y.id;

结果......

ID  a
==========
1   One
2   Two
3   Three