PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL: Verknüpfte Tabelle mehrfach auslesen



mbscholz
02-08-2006, 08:44
Hallo,

hab da ein Problem von dem ich noch nicht so recht weiß wie man es lösen kann. Ich habe eine Haupttabelle, in der über eine ID Produkte aus einer anderen Tabelle angezeigt werden sollen, etwa folgende Struktur:

Kunde = (KdNr, Name, angefragte_Produkt_ID, gelieferte_Produkt_ID)
Produkt = (produkt_ID, Name, ...)

Am liebsten würde ich nun in einer einzigen SQL-Abfrage die Namen sowohl des angefragten als auch des gelieferten Produktes abfragen, also als zwei neue Spalten. Gedacht hatte ich mir etwa sowas:

SELECT k.*, p.produkt_id AS pid1, p.name AS pname1, p.produkt_id AS pid2, p.name AS pname2
FROM kunde k, produkt p
WHERE k.angefragte_Produkt_ID = pid1 AND k.gelieferte_produkt_ID = pid2

Ist sowas in MySQL möglich? Wenn ja, wie? Bisher bekomme ich nur Fehlermeldungen...

Danke
Michael

mwanaheri
02-08-2006, 13:49
hier solltest du eine sauberere join-syntax verwenden:


select
kunde.id as k_id, kunde.name as k_name,
geordert.id as o_id, geordert.name as o_name,
geliefert.id as g_id, geliefert.name as g_name
from
kunde
join produkt geordert on kunde.angefragte_produkt_id = geordert.id
join produkt geliefert on kunde.gelieferte_produkt_id = geliefert.id


ist ungetestet, sollte aber gehen. Hab ich hier schon mehrfach gemacht.