bids.bid hört sich schwer nach einer eindeutigen id des datensatzes an
Jo, in der Bid-Tabelle bekommt jedes Bid(Gebot) eine eigene ID
desweiteren sollte es zwischen den beiden tabellen auction_horses und auction_bids eine verbindung geben und zwar nicht indirekt über die tmp tabelle
Die gibt es. In der Bid-Tabelle gibt es ein Feld hID, welches die ID des zugehörigen Pferdes referenziert.
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.
So ist es.
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.
Leider nicht. Geht erst ab MySQL 4.1x oder so. Hab noch 4.0x.
CREATE TABLE tmp
SELECT hID, MAX( time ) as time, MAX( bid ) AS currentdie 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.
Ist bedacht, denn ein neues Gebot wird nur in die Tabelle eingetragen, wenns auch höher ist, als das vorhergehende.
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.
Die auction_bids hat folgende Felder:
ID Schlüssel
hID Referenz auf PferdeID
rID Referenz auf Bieter
bid Gebot
time Eintragszeit mit TIMESTAMP
Gruß, *jiriki*