Postgresql:Select 来自两个表的唯一行

Postgresql: Select unique rows from two tables

我有这两个 table 值。我需要将所有唯一值合并为 1 table。所以结果一定是:

reffnum   leftb  rightb desc date
tes1   1  0    Tes 1    14/10/2016
tes 1  10 0    Tes siji    14/10/2016
tes2   0  12   Tes nomor 2 14/10/2016
tes 3  0  1002 Data baru  15/10/2016
tes1   0  11   Tes 1 baru 15/10/2016
tes1   0  123  Tes 123    15/10/2016

请帮忙,提前致谢

Table t1:

reffnum leftb   rightb  desc    timestamp
tes1    1   0   Tes 1   2016-10-12 13:47:06.945581
tes1    1   0   Tes siji    2016-10-12 13:47:06.921685
tes 1   10  0   Tes siji    2016-10-03 14:55:32.126814
tes2    0   12  Tes nomor 2 2016-10-03 14:55:32.11081
tes 3   0   1002    Data baru   2016-10-03 14:55:32.094884
tes1    0   11  Tes 1 baru  2016-10-03 14:55:32.078833

而这个 t2:

reffnum leftb righb desc date
tes1    1   0   Tes 1   2016-10-03 14:49:15.817506
tes1    1   0   Tes siji    2016-10-03 14:33:40.285849
tes 1   10  0   Tes siji    2016-10-03 14:33:40.269887
tes2    0   12  Tes nomor 2 2016-10-03 14:30:57.376459
tes1    0   123 Tes 123 2016-10-03 14:33:40.285849
tes2    0   12  Tes no2 2016-10-03 14:33:40.269887

已编辑:

这是我能做的最接近的事情:

  1. 我应该在 t2 中找到不在 t1 中的唯一值:select * 来自 t2 除了 select * 来自 t1
  2. 然后我在编号中插入值。 1 到 t1

但是现在,问题是,查询中没有。 1 抛出错误:

[Err] ERROR: EXCEPT types smallint and timestamp without time zone cannot be matched

union 运算符删除重复项,因此您可以使用非常直接的查询:

SELECT * FROM table1
UNION
SELECT * FROM table2