Mailinglisten-Archive |
Ralf Eggert wrote: > Hallo Liste, > > ich stehe gerade irgendwie auf dem Schlauch. Ich habe folgende Tabelle > (vereinfacht dargestellt) in der Anfragen abgelegt werden: > > anf_id mediumint(8) > anf_haupt_id mediumint(8) > anf_status enum('neu', 'bearbeitet', 'abgeschlossen') > anf_datum datetime > > Der Bearbeiter soll die Anfragen speichern koennen, wobei bei jedem > Speichern der aktuelle Stand als neuer Datensatz gesichert wird, um > spaeter eine Aenderungshistorie zu erhalten. Ich weiss, dass man dies > auch anders loesen kann, momentan ist es aber so, dass fuer jeden > Speicherschritt ein neuer Eintrag in der Tabelle erfolgt. > > Die Tabelle ist in etwa so gefuellt. > > anf_id anf_haupt_id anf_status anf_datum > ============================================================== > 1 1 neu 2002-04-14 15:15:15 > 2 2 neu 2002-04-14 15:16:10 > 3 1 bearbeitet 2002-04-14 15:17:29 > 4 4 neu 2002-04-14 15:18:51 > 5 2 bearbeitet 2002-04-14 15:20:54 > 6 1 abgeschlossen 2002-04-14 15:21:26 > > In einer Uebersichtsseite moechte ich nun fuer jede Anfrage jeweils den > aktuellsten Speicherstand haben. Es sollen also folgende Saetze gelesen > werden (sortiert nach Datum): > > anf_id anf_haupt_id anf_status anf_datum > ============================================================== > 6 1 abgeschlossen 2002-04-14 15:21:26 > 5 2 bearbeitet 2002-04-14 15:20:54 > 4 4 neu 2002-04-14 15:18:51 > > Leider bekomme ich mit folgender Abfrage nicht das gewuenschte > Ergebnis. Er selektiert teilweise eben nicht die letzte Aenderung einer > Anfrage: > > SELECT anf_id, anf_haupt_id, anf_datum, anf_status > FROM fg_anfrage > WHERE anf_id > 0 > GROUP BY anf_haupt_id > ORDER BY anf_datum DESC > Hallo Ralf, dein Problem ist nicht ganz einfach und eine elegante Lösung hab ich auch nicht gefunden. Probier mal folgendes: SELECT anf_id, anf_haupt_id, MIN(anf_status) AS status, MAX(anf_datum) AS datum FROM fg_anfrage GROUP BY anf_haupt_id ORDER BY anf_datum Grüsse Hans --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive