All pastes #639428 Raw Edit

Unbenannt

public text v1 · immutable
#639428 ·published 2007-07-30 15:47 UTC
rendered paste body
Beschreibung:
Eine Hauptkategorie kann viele Unterkategorien haben, klappt auch.
Ein Spiel kann in vielen Unterkategorien sein, aber nicht in einer Hauptkategorie.
Möchte man nun alle Spiele einer Hauptkategorie anzeigen lassen, holt man die passenden Unterkategorien und dann die Spiele darin.
Und genau da ist mein Problem, folgender Query bringt nicht das erwartete Ergebnis:

$sql = "select distinct
        s.id as id, 
        s.titel as titel, 
        s.titelkurz as titelkurz, 
        s.ordner as ordner, 
        uk.name as unterkategorie, 
        hk.name as hauptkategorie, 
        s.kurzbeschreibung as kurzbeschreibung 
	from spiele as s
	left join spielekategorien as sk on (s.id = sk.spiel)
	left join unterkategorien as uk on (sk.kategorie = uk.id)
	left join hauptkategorien as hk on (uk.hauptkategorie = hk.id)
	where hk.id = '".$hauptkategorie."'";

Ich bekomme da nur die Spiele einer Hauptkategorie, wenn ein Spiel z.B. in 2 Unterkategorien ist bekomme ich das Spiel nur in der ersten angezeigt, aber nicht in der zweiten.
Probiere nun schon ein paar Tage rum, komme aber zu keinem Ergebnis.

Hoffe habe es verständlich erklärt was ich will.

Tabellen:

Hauptkategorien:
+------------+--------+
|         id |    name|
+------------+--------+
|          A |  hkatA |
|          B |  hkatB |
+------------+--------+

Unterkategorien:
+------+--------+---------+
|   id |    name|   hkat  |
+------+--------+---------+
|   A1 | ukatA1 |  A      |
|   B1 | ukatB1 |  B      |
+------+--------+---------+

Spiele:
+------------+--------+
|         id |    name|
+------------+--------+
|         1  | spiel1 |
|         2  | spiel2 |
+------------+--------+

Spiele_Kategorien:
+------------+----------+
|   spiel_id | kategorie|
+------------+----------+
|         1  | A1       |
|         2  | B1       |
|         2  | C1       |
+------------+----------+