Hi Leute , ich steh vor einem Problem.
Ich würd gerne zwei Tabellen miteinander vergleichen und dann die Zeilen ausgeben die in der anderen nicht vorkommen.
Bsp.:
Tab1: 100 Zeilen{spalte_1,spalte_2,spalte_3}
Tab2: 80 Zeilen{spalte_1,spalte_2,spalte_3}
Ich weiss das es nicht so klappt, aber der Logik halber
Select * FROM tab1 WHERE spalte_1 NOT IN tab2
In Worte gefasst:
Wähle ALLE Datensätze aus Tab1 aus, deren spalte_1 NICHT IN Tab2 existiert.
Das Ergebnis wären in diesem Fall die 20 in Tab2 nicht existenten Zeilen.
shitake83:
Hi Leute , ich steh vor einem Problem.
Ich würd gerne zwei Tabellen miteinander vergleichen und dann die Zeilen ausgeben die in der anderen nicht vorkommen.
Bsp.:
Tab1: 100 Zeilen{spalte_1,spalte_2,spalte_3}
Tab2: 80 Zeilen{spalte_1,spalte_2,spalte_3}
Ich weiss das es nicht so klappt, aber der Logik halber
Select * FROM tab1 WHERE spalte_1 NOT IN tab2
In Worte gefasst:
Wähle ALLE Datensätze aus Tab1 aus, deren spalte_1 NICHT IN Tab2 existiert.
Das Ergebnis wären in diesem Fall die 20 in Tab2 nicht existenten Zeilen.
Lange Beschreibung für ein Wort: EXCEPT.
PostgreSQL: Documentation: Manuals: PostgreSQL 9: Combining Queries
Andreas
Also wäre mein Befehl so richtig ?? :
[color=blue][font=Verdana][size=84][font=Verdana, Arial, Helvetica, sans-serif]SELECT[/font][/size][/font][/color][font=Verdana][size=84][font=Verdana, Arial, Helvetica, sans-serif] * [color=blue]FROM[/color] Tab1[/font][/size][/font]
[color=blue][font=Verdana][size=84][font=Verdana, Arial, Helvetica, sans-serif]EXCEPT[/font][/size][/font][/color]
[color=blue][font=Verdana][size=84][font=Verdana, Arial, Helvetica, sans-serif]SELECT[/font][/size][/font][/color][font=Verdana][size=84][font=Verdana, Arial, Helvetica, sans-serif] * [color=blue]FROM[/color] Tab2[/font][/size][/font]
@akretschmer : Danke für die schnelle Antwort. Except kannte ich nicht und habe den Befehl noch nie benutzt. Aber eigentlich müsste man der Logik halber drauf kommen, stimmt.
select * from pg_verz_load
except
select * from pg_verz_gc
FEHLER: EXCEPT-Typen boolean und double precision passen nicht zusammen
LINE 3: select * from bs_verz_gc
^
Woran könnte das liegen ??