给定下面的表A和表B,有人可以指导我使用什么SQL / PLPGSQL产生所需的结果。非常感谢。
表A
+--------+-------+-------+
| USR_ID | COL1 | COL2 |
+--------+-------+-------+
| 1 | | 101 |
+--------+-------+-------+
| 2 | | 101 |
+--------+-------+-------+
表B
+--------+-------+-------+
| USR_ID | COL1 | COL2 |
+--------+-------+-------+
| 1 | 103 | |
+--------+-------+-------+
| 3 | 102 | |
+--------+-------+-------+
所需结果
+--------+-------+-------+
| USR_ID | COL1 | COL2 |
+--------+-------+-------+
| 1 | 103 | 101 |
+--------+-------+-------+
| 2 | | 101 |
+--------+-------+-------+
| 3 | 102 | |
+--------+-------+-------+
用于coalesce
赋予非空值优先级
select coalesce(a.usr_id,b.usr_id) usr_id,
coalesce(a.col1,b.col1) col1,
coalesce(a.col2,b.col2) col2
from tablea a full join tableb b
on a.usr_id = b.usr_id
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句