es geht darum für ein Shopsystem eine Abfrage zu bauen. Ich möchte quasi von einer Kategorie Rekursiv die 10 Produkte zurückgeben lassen die noch aktiv sind, am meisten verkauft sind (1. sorting desc) und die meisten views haben (2. sorting desc).
Bis auf das viewed habe ich den SQL soweit fertig. Er schaut so aus;
Code: Alles auswählen
$sql3 = "select p.* from osc_products p, osc_products_to_categories p2c, osc_categories c where p.products_id = p2c.products_id and p.products_status = 1 and p2c.categories_id = c.categories_id and c.categories_nested_left > " . $row['categories_nested_left'] . " and c.categories_nested_right < " . $row['categories_nested_right'] . " and p.products_status = 1 group by p.products_id order by p.products_ordered desc limit 10";
Nun habe ich noch eine Tablle osc_viewed_products mit den Spalten id (entspricht der products_id) und viewed (anzahl der besuche). Diese Tabelle hat allerdings nicht für jedes Produkt einen Eintrag, daher kann ich diese Sache nur über ein left join integrieren.
Ich muss quaso p.products_id als left join mit osc_viewed_products.viewed verbinden und dann hinten noch das sort rein (das sorting ist nicht das problem).
Mein Problem ist, dass ich nicht weiß wie ich das left join in meine Abfrage einbauen kann. Bzw. ob es überhaupt geht? Oder muss ich vielelicht sogar alle anderen Verknüpfungen auf inner join umbauen? Notfalls würde ich sonst die viewed mit in die products Tabelle einbauen.
Vielleicht hat da jemand etwas mehr Ahnung und kann helfen:)
Phil