Moin Moin,
ich habe ein kleines Problem, dass ich gerne mit einer einzigen MySQL Anfrage gerne lösen wurde (Performance), anstatt die erste Anfrage auszuführen und die 2. mit PHP zusammenzubasteln.
Es handelt sich um ein Kategoriesystem basierend auf 'Nested Sets'.
tabelle_kategorie (Auszug)
cat_id (prikey)
cat_left
cat_right
tabelle_kategorie_inhalt_index
cat_id *
content_id *
content_type *
* Die Kombination dieser Elemente ergeben ein eindeutigen Identifikator, kein Primary KEY oder sonstiges.
Anfrage Unterkategorien ermitteln (funktioniert):
SELECT cat_id from tabelle_kategorie WHERE cat_left > 1 AND cat_right < 37
Ergebnis MySqlNumRows = 17 (Unterkategorien ermittelt/Korrekt)
Anfrage Inhalt anhand der ermittelten Unterkategorien ermitteln:
SELECT (cat_id,)content_id, content_type WHERE cat_id=(Ermittelte IDs aus Anfrage)
Diese Abfragen sollen so kombiniert werden (wenn dann höchstwahrscheinlich mit LEFT/RIGHT+JOIN, so dass in etwa folgendes Ergebnis steht (Beispiel).
cat_id (ermittelt aus Anfrage kategorien) | content_id | content_type
1|1|news
2|3|news
3|2|news
3|4|news
4|5|news
4|6|news
4|7|news
Gibts dazu eine Lösung ohne PHP diese Abfragen zu kombinieren?
Ein Beispiel wäre super
Grüße TheRedox
ich habe ein kleines Problem, dass ich gerne mit einer einzigen MySQL Anfrage gerne lösen wurde (Performance), anstatt die erste Anfrage auszuführen und die 2. mit PHP zusammenzubasteln.
Es handelt sich um ein Kategoriesystem basierend auf 'Nested Sets'.
tabelle_kategorie (Auszug)
cat_id (prikey)
cat_left
cat_right
tabelle_kategorie_inhalt_index
cat_id *
content_id *
content_type *
* Die Kombination dieser Elemente ergeben ein eindeutigen Identifikator, kein Primary KEY oder sonstiges.
Anfrage Unterkategorien ermitteln (funktioniert):
SELECT cat_id from tabelle_kategorie WHERE cat_left > 1 AND cat_right < 37
Ergebnis MySqlNumRows = 17 (Unterkategorien ermittelt/Korrekt)
Anfrage Inhalt anhand der ermittelten Unterkategorien ermitteln:
SELECT (cat_id,)content_id, content_type WHERE cat_id=(Ermittelte IDs aus Anfrage)
Diese Abfragen sollen so kombiniert werden (wenn dann höchstwahrscheinlich mit LEFT/RIGHT+JOIN, so dass in etwa folgendes Ergebnis steht (Beispiel).
cat_id (ermittelt aus Anfrage kategorien) | content_id | content_type
1|1|news
2|3|news
3|2|news
3|4|news
4|5|news
4|6|news
4|7|news
Gibts dazu eine Lösung ohne PHP diese Abfragen zu kombinieren?
Ein Beispiel wäre super
Grüße TheRedox
Kommentar