mySQL: JOIN und ORDER BY
am 23.12.2005 19:27:31 von mailagentHallo,
ich habe zwei Tabellen:
produkte (id, name, gruppe, rank)
und produktverkauf (id, produktID, datum, preis)
Um eine aktuelle preisliste der Produkte zuerstellen
starte ich dezeit 2 bzw. 1+n Query's:
pseudo:
erg1 = SELECT id,name,beschreibung,gruppe,steuer FROM produkte WHERE
status = '1' ORDER BY p.gruppe, p.rank
while $erg1
{
erg2 = SELECT preis FROM produktverkauf WHERE produktID = 'erg1['id']'
ORDER BY datum DESC LIMIT 0,1
NAME: erg1['name'] - PREIS: erg2['preis']
}
Wie kann ich die n-Abfragen zu einer Abfrage umbauen?
Das habe ich bis jetzt:
SELECT p.id,p.name,p.beschreibung,p.gruppe,p.steuer FROM produkte p LEFT
JOIN produktverkauf v ON p.id = v.produktID WHERE p.status = '1' &&
p.gruppe != 16 GROUP BY v.produktID ORDER BY p.gruppe, p.rank
Probleme bereitet mir die ORDER BY Klausel.
Wie kann ich festlegen, dass 'produktverkauf' nach datum DESC, also der
neuste Preis genommen wird, aber tabelle 'produkte' bzw. das
Gesamtergebnis jedoch nach p.gruppe, p.rank sortiert wird?