jenno
Erfahrenes Mitglied
Folgende Situation:
Ich habe in einer Datenbank drei Tabellen zu Produkten:
- Produktkategorie (cat_id, name)
- Produktsorte (sort_id, cat_id, name)
- Produkttyp (typ_id, sort_id, name)
Diese Tabellen haben eine Beziehung zueinander über cat_id bzw. sort_id.
Als Datensätze gebe ich hier zwei Beispiele:
1.
Produktkategorie: 1, Elektronische Geräte
Produktsorte: 1, 1, Computer
Produkttyp: 1, 1, Scanner
2.
Produktkategorie: 2, Garten
Produktsorte: 2, 2, Möbel
Produkttyp: -
Es gibt also beim zweiten Beispiel ne Produktkategorie und ne Produktsorte, aber keinen Produkttyp mehr.
Ich hatte jetzt eine mysql-Abfrage
Mit dieser Abfrage käme aber nur der erste Datensatz als Ausgabe. Mir ist auch klar, warum. Weil beim zweiten Datensatzbeispiel gibts ja keinen Produkttyp.
Meine Frage ist jetzt, gibt es eine Abfrage, mit der ich beide oben genannten Beispiele als Ergebnis erhalten würde
Ich habe in einer Datenbank drei Tabellen zu Produkten:
- Produktkategorie (cat_id, name)
- Produktsorte (sort_id, cat_id, name)
- Produkttyp (typ_id, sort_id, name)
Diese Tabellen haben eine Beziehung zueinander über cat_id bzw. sort_id.
Als Datensätze gebe ich hier zwei Beispiele:
1.
Produktkategorie: 1, Elektronische Geräte
Produktsorte: 1, 1, Computer
Produkttyp: 1, 1, Scanner
2.
Produktkategorie: 2, Garten
Produktsorte: 2, 2, Möbel
Produkttyp: -
Es gibt also beim zweiten Beispiel ne Produktkategorie und ne Produktsorte, aber keinen Produkttyp mehr.
Ich hatte jetzt eine mysql-Abfrage
PHP:
SELECT DISTINCT k.name as kname, s.name as sname, t.name as tname FROM produktkategorie as k, produktsorte as s, produkttyp as t WHERE k.produktkategorie_id = s.produktkategorie_id AND s.produktsorte_id = t.produktsorte_id
Mit dieser Abfrage käme aber nur der erste Datensatz als Ausgabe. Mir ist auch klar, warum. Weil beim zweiten Datensatzbeispiel gibts ja keinen Produkttyp.
Meine Frage ist jetzt, gibt es eine Abfrage, mit der ich beide oben genannten Beispiele als Ergebnis erhalten würde