我们在'X'和'Y'表中有列'a'。如果列'a'的值不为null,那么我们需要在'X'表中考虑,否则需要在'Y'表中考虑。
基于这个要求如何实现呢?
先谢谢
答案 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