SQL Wählen Sie alle Zeilen aus, in denen Teilmenge existiert

Ich bin sicher, es ist eine Antwort vorhanden für diese Frage, aber Geduld mit mir, wie ich bin neu in SQL und bin mir nicht sicher wie die Frage zu stellen.

Ich habe die Daten so aus (dies ist die Kurzform rein zum Beispiel).
Dies ist in einer postgres-db.

table1
id    value
1     111
1     112
1     113
2     111
2     112
2     116
3     111
3     122
3     123
4     126
5     123
5     125
6     111
6     112
6     116

table2
value
111
112
116

Muss ich zurück die id der Tabelle1, wo alle Werte in Tabelle2 vorhanden sind, in der Werte von Tabelle1. Also, für dieses Beispiel, meine Abfrage zurückgeben würde, 2 und 6.

Gibt es eine Möglichkeit, dies zu tun in SQL? Oder könntest du mir den guide mal eine Daten-Struktur, die erlauben würde, für mich, um dieses Ergebnis? Ich bin in der Lage, ändern Sie die Struktur der beiden Tabellen, um Platz für die ultimate brauchen, um dieses Ergebnis

Danke Ihnen so sehr. Eine Antwort auf diese wäre ein Lebensretter sein.

  • Sieht für mich wie die Antwort von @ErwinBrandstetter hat schon "das Leben retten". Könntest du bitte beachten, es zu akzeptieren als die richtige Antwort oder Kommentar über Probleme mit dieser Antwort.
  • Finden Sie diese Frage mit verschiedenen Möglichkeiten zur Lösung dieses relationale division problem: stackoverflow.com/questions/7364969/...
InformationsquelleAutor MFD3000 | 2011-12-08
Schreibe einen Kommentar