HI,
folgendes Problem:
Es gibt 3 Tabellen:
produkt:
- pk
- name
kategorie:
- pk
- name
produkte_kategorien
- pk
- produkt_fk (Fremdschlüssel)
- kategorie_fk (Fremdschlüssel)
Jedes Produkt kann mehrere Kategorien zugeordnet werden. Ich habe bereits eine Abfrage, die mir alle Kategorien zu einem Produkt anzeigt.
Mein Problem, ich brauchte eine Abfrage, die mir alle Kategorien anzeigt, auch wenn ein Produkt nicht dieser kategorie zugeordnet ist
Das Ergebnis sollte dann ungefähr so aussehen:
Kategorie A -- Produkt A
Kategorie B -- Produkt A
Kategorie C -- NULL (da Produkt A nicht Kategorie C zugeordnet ist)
Ich dachte es geht mit nem Left-Join aber bringt irgendwie nix.
das gibt mir alle Kategorien zu einem Produkt, aber eben nicht alle Kategorien auch wenn das Produkt der Kategorie NICHT zugeordnet ist
folgendes Problem:
Es gibt 3 Tabellen:
produkt:
- pk
- name
kategorie:
- pk
- name
produkte_kategorien
- pk
- produkt_fk (Fremdschlüssel)
- kategorie_fk (Fremdschlüssel)
Jedes Produkt kann mehrere Kategorien zugeordnet werden. Ich habe bereits eine Abfrage, die mir alle Kategorien zu einem Produkt anzeigt.
Mein Problem, ich brauchte eine Abfrage, die mir alle Kategorien anzeigt, auch wenn ein Produkt nicht dieser kategorie zugeordnet ist
Das Ergebnis sollte dann ungefähr so aussehen:
Kategorie A -- Produkt A
Kategorie B -- Produkt A
Kategorie C -- NULL (da Produkt A nicht Kategorie C zugeordnet ist)
Ich dachte es geht mit nem Left-Join aber bringt irgendwie nix.
das gibt mir alle Kategorien zu einem Produkt, aber eben nicht alle Kategorien auch wenn das Produkt der Kategorie NICHT zugeordnet ist
Code:
SELECT p.*, k.* FROM produkt p
INNER JOIN produkt_kategorie pk ON pk.produkt_fk = p.pk
INNER JOIN kategorie k ON pk.kategorie_fk = k.pk
WHERE p.pk = 200