
Zitat von
rajanski
Hallo, es ist sicher ganz einfach aber ich komm einfach nicht drauf:
ich habe eine tabelle tab mit
x
1
2
3
4
5
7
und eine suchliste mit den einträgen
1
2
3
4
5
6
nun möchte ich abfragen, welche der in der Suchliste enthaltenen Einträge nicht in der Tabelle tab sind. Das Ergebnis soll also 6 sein.
habe miteiner kombi aus "tab.x in (1,2,3,4,5,6) and ... not in" probiert aber ich komme auf keinen grünen Zweig.
kann mir einer weiterhelfen?
Vielen Dank!!
Code:
test=# select * from daten;
i
---
1
2
3
4
5
7
(6 rows)
test=*# select * from such;
i
---
1
2
3
4
5
6
7
(7 rows)
test=*# select such.i from daten right join such on (daten.i=such.i) where daten.i is null;
i
---
6
(1 row)
Btw.:
Deine Suchtabelle kann man auch on-the-fly erzeugen, mit generate_Series():
Code:
test=# select such.i from daten right join (select generate_series(1,7) i) such on (daten.i=such.i) where daten.i is null;
i
---
6
(1 row)
Andreas
Lesezeichen