Horst Reinelt: SQL-String zu einer Abfrage-Aufgabe

Beitrag lesen

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