Tabele mam po normalizacji. Ta "wizualizacja tabeli" to jest tylko po to żeby zobrazować mniej więcej powiązania między tabelami.
Mam takie tabele:
1. marki (marka_id int, producent)
2. modele (model_id int, model)
3. telefony(telefon_id int, marka int, model int)
4. ukladytel (ukladytel_id int, telefon int, uklad int)
5. uklady (uklad_id int, uklad)
6. zdjecia (zdjecie_id int, uklad int, zdjecie)
7. telczesc (telczesc_id int, telefon int, czesc int)
8. czesci (czesc_id int, czesc)
9. info (info_id, uklad_id, informacja)
zapytanie, które działa w MySQL 4 a nie działa w MySQL 5 to
SELECT DISTINCT producent, modele.model, czesci.czesc, uklady.uklad, zdjecie, informacje
FROM (((((((telczesc RIGHT OUTER JOIN telefony ON telczesc.telefon = telefony.telefon_id
)
INNER JOIN czesci ON telczesc.czesc = czesci.czesc_id
)
LEFT OUTER JOIN ukladytel ON ukladytel.telefon = telefony.telefon_id
)
LEFT OUTER JOIN uklady ON ukladytel.uklad = uklady.uklad_id
)
RIGHT OUTER JOIN czesci cz ON uklady.czesc = czesci.czesc_id
)
LEFT JOIN zdjecia ON uklady.uklad_id = zdjecia.uklad
)
LEFT OUTER JOIN info ON info.uklad = uklady.uklad_id
), marki, modele
WHERE marki.marka_id = telefony.marka AND modele.model_id = telefony.model
ORDER BY model,czesc, uklad ASC