ugrás a tartalomhoz

JOIN vagy más?

mahoo · 2009. Okt. 12. (H), 16.28
Sziasztok!

Következő lenne a feladat. Adott két tábla:

parameter_lista(idparameter,megnevezes)

1 automata
2 4-ajtos
3 legkondi
.
.
.

parameterek(idauto,idparameter)

1 1
1 2
1 3
2 3
2 6
4 1
.
.
.

Tehát az 1-es id-jű autóautomata, 4-ajtós és légkondis.

Azt szeretném megoldani, hogy az összes létető paramétert megjeleníteni és amivel rendelkezik az autó azt pl. ki x-elni. Így:

VW Golf (iduto: 1)
automata x
legkondi x
4-ajtós x
gyerekzár
tolatóradar
.
.
.

ezt szeretném megoldani egyetlen lekérdezéssel. Lehetséges ez?
 
1

LEFT JOIN

Poetro · 2009. Okt. 13. (K), 00.53
SELECT * FROM parameterek AS p 
LEFT JOIN parameter_lista AS l 
  ON l.idparameter = p.idparameter WHERE p.idauto = 1
2

LEFT JOIN

Poetro · 2009. Okt. 13. (K), 00.53
SELECT * FROM parameterek AS p 
LEFT JOIN parameter_lista AS l 
  ON l.idparameter = p.idparameter WHERE p.idauto = 1
3

Köszönöm a segítséget, de

mahoo · 2009. Okt. 15. (Cs), 16.43
Köszönöm a segítséget, de sajnos nálam nem futott le... hibát írt. De közben megoldottam két lekérdezéssel... tudom nem elegáns, de működik.
4

Egy lekérdezéssel

gphilip · 2009. Okt. 15. (Cs), 18.05
SELECT idauto, pl.megnevezes, IF(mpl.idparameter IS NULL, "", "×") as matching
FROM parameter_lista AS pl
LEFT JOIN parameterek AS pm
ON pm.idparameter = pl.idparameter AND pm.idauto = 1
LEFT JOIN parameter_lista AS mpl
ON mpl.idparameter = pm.idparameter
ORDER BY megnevezes

Teszteltem.