2016-10-13 5 views
0

У меня есть две таблицы со значениями. Мне нужно объединить все уникальные значения в 1 таблицу. Таким образом, результат должен быть:Postgresql: выберите уникальные строки из двух таблиц

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 

Пожалуйста, помогите, заранее спасибо

Таблица 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: выберите * из t2, кроме выбора * от t1
  2. Затем вставить значения в нет. 1 до t1

Но теперь проблема в том, запрос в нет. 1 выдает ошибку:

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

+0

Итак, я нахожу способ найти дубликаты первого: https: // wiki.postgresql.org/wiki/Deleting_duplicates, а затем я делаю некоторые работы с excel, чтобы оставить одну исходную строку. Таким образом, я мог бы добавить эти уникальные данные для объединения с таблицей t1. – bandungeuy

ответ

1

Оператор union удаляет дубликаты, так что вы можете использовать довольно прямо вперед запрос:

SELECT * FROM table1 
UNION 
SELECT * FROM table2 
+0

Спасибо, я до сих пор не понимаю, союз удаляет дубликаты на основе того, что coloumn? В excel я мог удалить дубликат на основе reffnum, leftb, rightb – bandungeuy

+1

@banddayuy На основе всех столбцов в списке выбора – Mureinik

+0

С новыми данными (я добавляю один дубликат данных в t2: tes2-0-12-tesno2), объединение все еще дайте мне повторяющиеся значения: tes2-0-12-tes nomor2 и tes2-0-12-tesno2. – bandungeuy

Смежные вопросы