*jiriki*: MySQL: Select aus zwei Tabellen

Beitrag lesen

Moin, ich hab folgendes Problem:
Ich hab zwei Tabellen, "horses" und "bids". Jetzt möchte ich zu jedem Pferd aus "horses" das zugehörige höchste bisherige Gebot ermitteln (über MAX(bids.bid)) und dann eine Gesamtabfrage haben, in der dieses höchste Gebot an die zugehörigen Pferdedatensätze angehängt wird. Dazu hab ich bisher leider noch eine temporäre Tabelle in Gebrauch, die mir erst zu jeder PferdeID das zugehörige Maximum ermittelt.

Sieht folgendermaßen aus:

CREATE TABLE tmp
SELECT hID, MAX( time ) as time, MAX( bid ) AS current
FROM auction_bids
WHERE DATE_FORMAT( time, '%Y%m%d' ) < DATE_FORMAT( NOW(), '%Y%m%d' )
GROUP BY hID;

und dann die Gesamtabfrage

SELECT auction_horses.id, auction_horses.name as name, auction_horses.minimum, auction_horses.deadline as deadline, tmp.current, tmp.time as time
FROM auction_horses, auction_bids, tmp
WHERE auction_horses.id = tmp.hID
AND auction_bids.bid = tmp.current
ORDER BY deadline DESC, time DESC;

Ich hoff, die Spaltenbezeichnungen sind selbsterklärend.

Ich würde mir die Erzeugung der Temp-Tabelle gern sparen. Wenn also jemand noch ne elegantere Lösung im Petto hat, bitte sagen wies geht.

Danke, *jiriki*