SQL Abfrage für OS Commerce

Siegfried_D

Angesehenes Mitglied
Hallo Leute,
bin mal wieder was am proggen für den OSC!

Ich möchte gerne alle Produkte einer Kategorie, der Unterkategorien und Unter-Unterkategorien auslesen, hier mein Versuch:

CODE $sql = "SELECT * FROM products, products_description, products_to_categories, categories where (products.products_id=products_to_categories.products_id)and (products.products_id=products_description.products_id)and((products_to_categories.categories_id=".$rubrik.")or(categories.parent_id=".$rubrik."))and((products_to_categories.categories_id=categories.parent_id)or(categories.categories_id=products_to_categories.categories_id))and (products.products_status=1) order by products_name";


Das Problem: In der Tabelle Categories gibt es noch UnterUnterkategorien, welche ich so nicht auslesen kann.

Die Tabelle categories hat folgenden Aufbau:

categories_id parent_id .......

Die parent_id beinhaltet alle categories_id, welche unterhalb dieser parent_id geführt sind. (Sind dann mehrere Zeilen)
Jetzt können aber unterhalb dieser categories_id wiederum Unterrubriken sein, daher gibt es diese categories_id auch als parent_id mit weiteren categories_id unterhalb.

Wie kann ich denn nun alle Artikel auslesen, die unterhalb der obersten parent_id sind?

Ich steh auf m Schlauch und bitte um Hilfe!

Gruß

Siegfried
 
Mach doch einfach zwei Abfragen, die eine geht auf die erste Ebene drunter, die zweite geht auf die zweite Ebene, einfach in der Join-Verknüpfung eine Tabelle mehr.


Beide Abfragen werden dann mit Union zusammengefügt.


Allerdings nicht so kommagetrennt, sondern ordentlich per Join.
 
Hallo Jürgen,
danke für den Tipp!

Wie Du unschwer an meiner Abfrage erkennen kannst, bin ich kein SQL Profi.

Was meinst Du mit union zusammenführen?

Hast Du vielleicht einen Beispielcode, an dem ich mich orientieren kann?

Gruß

Siegfried
 
QUOTE (Siegfried_D @ Do 13.11.2008, 22:33)Was meinst Du mit union zusammenführen?

Hast Du vielleicht einen Beispielcode, an dem ich mich orientieren kann?

Union: Beispiel 6

Join

Ansonsten läufst Du Gefahr, daß Du Dinge zusammenstrickst und Ergebnisse bekommst, die beliebig falsch bzw. unsinnig sein können.
 
Zurück
Oben