Hallo liebes Forum,
ich habe eine (kleine) Aufgabe für alle SQL-Freaks unter euch, an der ich nun schon einige Zeit sitze, aber einfach nicht auf einen grünen Zweig komme:
T1 besteht aus id, name
T2 besteht aus id, nr
Nun suche ich alle T1.name, die entweder:
eine id-Entsprechung in T2 haben - ausgenommen die Datensätze, deren T2.nr x entsprechen und ausgenommen alle anderen Datensätze mit dieser T2.id -
oder: bei denen die T1.id nicht in T2 vorkommt.
Und das Ganze noch ohne doppelte Einträge (ok, da komme selbst ich drauf: GROUP BY name).
Eindeutiger Schlüssel ist ausschließlich T1.id.
Die folgenden Tabellen ...
+----+------+ T1
| id | name |
+----+------+
| 1 | ich |
| 2 | du |
| 3 | er |
| 4 | sie |
+----+------+
+----+----+ T2
| id | nr |
+----+----+
| 1 | 55 |
| 2 | 55 |
| 2 | 66 |
| 4 | 55 |
| 4 | 77 |
+----+----+
sollen folgende Ergebnisse liefern:
x=55 -> name=er, sie
x=66 -> name=ich, er, sie
x=77 -> name=ich, du, er
Vielen Dank für jede Hilfe und viel Spaß beim Knobeln.
Viele Grüße aus München
Horst