Hallo,
mein Problem ist, dass ich ein Primärschlüssel habe und diesen Primärschlüssel muss ich in einer Zeile mit seinen zwei Fremdschlüssel darstellen.
Fallbeispiel:
Ich habe ein Produkt und dieses Produkt gehört zur ein oder zwei Kategorien, falls zwei Kategorien existieren ist eine der beiden Kategorien die Hauptkategorie und die andere die Nebenkategorie.
Dazu habe ich drei Tabellen:
produkt(PID, Bezeichnung, ...)
produktkategorie(PID, KID, HK) --------- HK kennzeichnet hierbei nur, ob die Kategorie eine Hauptkategorie ist oder nicht mit (J / N)
kategorie(KID, Bezeichnung,..)
Ich habe einen Ansatz für die Lösung, jedoch denke ich glaube ich etwas kompliziert, sodass ich nicht darauf komme:
Mein View schaut dann so aus:
Jedoch, ist mein Problem, dass ich es nicht hinkriege nur eine der Kombination zu zeigen.
Das Endresultat müsste nämlich so ausschauen:
Ich danke Ihnen im Voraus!
mein Problem ist, dass ich ein Primärschlüssel habe und diesen Primärschlüssel muss ich in einer Zeile mit seinen zwei Fremdschlüssel darstellen.
Fallbeispiel:
Ich habe ein Produkt und dieses Produkt gehört zur ein oder zwei Kategorien, falls zwei Kategorien existieren ist eine der beiden Kategorien die Hauptkategorie und die andere die Nebenkategorie.
Dazu habe ich drei Tabellen:
produkt(PID, Bezeichnung, ...)
produktkategorie(PID, KID, HK) --------- HK kennzeichnet hierbei nur, ob die Kategorie eine Hauptkategorie ist oder nicht mit (J / N)
kategorie(KID, Bezeichnung,..)
Ich habe einen Ansatz für die Lösung, jedoch denke ich glaube ich etwas kompliziert, sodass ich nicht darauf komme:
Code:
WITH product_hknk (pid, bez, hauptkategorie, nebenkategorie) AS
(
SELECT p.pid, p.bez, k.bez, k_2.bez
FROM produkt p
JOIN produktkategorie pk ON p.pid = pk.pid
JOIN produktkategorie pk_2 ON p.pid = pk_2.pid
JOIN kategorie k ON pk.kid = k.kid
JOIN kategorie k_2 ON pk_2.kid = k_2.kid
WHERE p.bez LIKE '%tisch%' OR p.bez LIKE '%sessel%'
)
SELECT * FROM product_hknk
GROUP BY pid, bez, hauptkategorie, nebenkategorie
ORDER BY pid;
Mein View schaut dann so aus:
Jedoch, ist mein Problem, dass ich es nicht hinkriege nur eine der Kombination zu zeigen.
Das Endresultat müsste nämlich so ausschauen:
Ich danke Ihnen im Voraus!