yo,
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))
bids.bid hört sich schwer nach einer eindeutigen id des datensatzes an und ist somit nicht das höchste gebot. sollte dort denoch gebote stehen, so ist der name der spalte sehr, sehr verwirrend. desweiteren sollte es zwischen den beiden tabellen auction_horses und auction_bids eine verbindung geben und zwar nicht indirekt über die tmp tabelle. es handelt sich dabei um eine 1:n verbindung, ein pferd kann mehrere gebote haben, aber ein gebot gehört immer nur zu ein pferd. insofern sollte sich der fremdschlüssel in der auction_bids tabelle befinden.
es geht mit einer abfrage, die frage ist, ob dein dbms schon unterabfragen kann. falls nicht, könte man das eventuell mit einem GROUP BY lösen.
CREATE TABLE tmp
SELECT hID, MAX( time ) as time, MAX( bid ) AS current
die beiden aggregat-funktionen sind vollkommen unabhängig voneinander, sprich die MAX(time) muss nicht im gleichen datensatz wie die MAX(bid) stehen. ich weiß nicht, ob du das bedacht hast.
also mein tipp, das tabellen-design noch mal überdenken und die 1:n beziehung abbilden. dann geht das auch sicherlich ohne tmp tabelle. wäre interessant zu wissen, wie deine auction_bids tabelle aussieht.
Ilja