akone: Datensätze zusammenfügen

Beitrag lesen

Hallo,

meine DB sieht ungefähr so aus:

ID | name | f1 | f2 | f3 | datum
---|------|----|----|----|-------
1  | hans | 1  |    | 3  | 2007
2  | hans | 2  | 14 |    | 2008

Ich möchte jetzt das Datensätze mit gleichem "name" zusammengefügt werden.
Also auf obiges Beispiel bezogen sollte das Ergebnis so aussehen.

ID | name | f1 | f2 | f3 | datum
---|------|----|----|----|-------
x  | hans | 2  | 14 | 3  | 2008

Die ID (hier "x") ist vollkommen egal, meinetwegen kann auch ein neuer Datensatz angelegt werden.
Die "2" in "f1" soll die 1 überschreiben, da Datensatz 2 aktueller ist(siehe PseudoDatum).

Mein Problem dabei ist, das meine Tabelle nicht wirklich so einfach aussieht, sondern ca. 1500 Spalten hat.

Im Augenblick versuche ich das über 3 Anfragen zu regeln. Zuerst lese ich alle Spaltenköpfe (s1) aus, danach suche ich doppelte Daten und lass mir den aktuelleren Ausgeben (d1). Dann bastele ich in PHP einen MySQL-Update-Query aus s1 und d1, in dem nur die in d1 gefüllten Felder übertragen werden.

Geht das eventuell etwas kürzer bzw. performanter?