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