SQL vermeintlich simple Abfrage mit 3 Tabellen

T

Tersus

Gast
Guten Abend,

ich stelle mich gerade, beim Basteln eines Statements, dumm an.

TeilPaare(aID, bID)
TeilA(ID, Name)
TeilB(ID, Name)

Nun will ich einfach nur distinct alle Einträge aus TeilPaare haben, jedoch mit dem Namen, nicht der ID.
Ich bekomme es zwar hin, aber nicht elegant.

Code:
select distinct a.name, b.name
from teila as a, teilb as b, teilpaare as c
where a.id = c.aid and b.id = c.bid;
Hier muss das gewaltige kartesische Produkt gebildet werden.
Der Optimierter bekommt das sicher gebacken, aber dennoch interessiert mich die elegante Lösung.
Im Prinzip müssen ja nur alle Einträge aus TeilPaare ausgegeben werden und die ID mit dem Namen der referenzierten Tabelle ersetzt werden.

Jemand eine Idee?
 
Select a.name, b.name
From
teilpaare t
inner join teilA a on t.aID=a.ID
inner join teilB b on t.bID=b.ID
Group by a.name, b.name
 

Ähnliche Themen

Zurück
Oben