【发布时间】:2019-06-11 16:40:26
【问题描述】:
我的意思是,比如说我有一个查询,它结合了两个表 A 和 B 的结果;其中A 有一些列与B 相同,但有几个不同的列,B 也是如此。是否有一个命令可以合并相同列中的数据(UNION)但在最终结果中连接不同的列(JOIN),否则我将不得不以乏味的方式来做?
更喜欢为 SQLite 或 Postgresql 量身定制的答案,但任何其他都可以。
编辑:
说表A有以下列:
ID Source Destination Timestamp
而表B 具有以下列:
ID Source Destination Group Read
我希望表C(查询)具有以下列,在这两种情况下,互斥列都具有NULL 值:
ID Source Destination Timestamp Group Read
【问题讨论】:
-
完全外连接?
-
@jarlh 不完全是(我认为),让我举个例子表来澄清一下
-
UNION ALL 与 NULL 占位符的列都不在两者中?
-
如果没有看到其中的数据,示例表将无济于事。
-
@Garikai 是的,这就是为什么有时可以使用 Olivier 答案中的那个技巧。但也要看看 FULL JOIN 的作用。
标签: sql database postgresql sqlite