2016-10-13 11 views
0

私は値を持つこの2つのテーブルを持っています。すべてのユニークな値を1つの表に結合する必要があります。だから、結果がでなければなりません:Postgresql:2つのテーブルから一意の行を選択

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 

編集:

これは私ができる最も近いものです:その後、私はノーで値を挿入

  • T1
  • から*選択以外t2から選択*:

    1. 私はないT1にT2で一意の値を見つける必要があります。 1からt1

    しかし、問題は、あなたは、かなりストレートフォワード・クエリを使用できるよう

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

    +0

    を、私は最初の重複を見つけるための方法を見つける:1がエラーをスローします。https:// wiki.postgresql.org/wiki/Deleting_duplicatesを実行してから、元の行を1つ左に残していくつかの回避策を実行します。だから、私はテーブルt1と結合するためのユニークなデータを追加することができます。 – bandungeuy

    答えて

    1

    unionオペレータは、重複を削除します:だから

    SELECT * FROM table1 
    UNION 
    SELECT * FROM table2 
    
    +0

    ありがとう、私はまだ理解していない、労働組合は何coloumnに基づいて重複を削除? excelでは、reffnum、leftb、rightbに基づいて重複を削除することができました – bandungeuy

    +1

    @bandungeuy選択リストのすべての列に基づいて – Mureinik

    +0

    新しいデータ(t2:tes2-0-12-tesno2に1つの重複データを追加します)重複した値を与えてください:tes2-0-12-tes nomor2とtes2-0-12-tesno2。 – bandungeuy

    関連する問題