Cześć potrzebuję pomocy przy poprawnym złożeniu zapytania mysql. Przysiągłbym, że działało a potem ni z tego ni z owego przestało.
Może na początek podam tabele:
podzespoly
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
idPodzespolu | int(11) | NO | PRI | NULL | auto_increment |
numerseryjny | int(11) | YES | NULL | ||
nazwa | varchar(50) | YES | NULL | ||
modelauta | int(11) | YES | MUL | NULL | |
kategorie | int(11) | YES | MUL | NULL | |
jednostka | int(11) | YES | MUL | NULL | |
cena | int(11) | YES | NULL |
kategorie
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
idnadkategorii | int(5) | YES | NULL | ||
nazwakategorii | varchar(50) | YES | NULL | ||
idKategorii | int(3) | NO | PRI | 0 |
modeleaut
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
id | int(11) | NO | PRI | NULL | auto_increment |
nazwaModelu | varchar(50) | YES | NULL |
A o to zapytanie:
SELECT *
/*numerseryjny, nazwa*/
FROM podzespoly
LEFT JOIN modeleaut ON podzespoly.modelauta = modeleaut.id
LEFT JOIN kategorie AS k1 ON podzespoly.kategorie = k1.idKategorii
LEFT JOIN kategorie AS k2 ON k1.idnadkategorii = k2.idKategorii
Tabelę kategorie chce połączyć z samą sobą tak, abym dostał kolumnę z nazwą nadkategorii, bo pierwsz 18 rekordów to kategorie główne z id=0, a później będę mógł sobie zagnieżdżać w ten sposób.
Problem w tym, że mysql nie dołącza ostatniej tabeli, czyli zachowuje się tak jakby tego ostatniego JOINa tam nie było.
Proszę o pomoc