phpbar.de logo

Mailinglisten-Archive

Problem mit SQL Abfrage

Problem mit SQL Abfrage

Thomas Bruehl t.bruehl at gmx.net
Mit Jan 15 08:09:33 CET 2003


Hallo zusammen,

ich habe ein kleines Problem mit ner SQL Abfrage, vielleicht kann mir ja
einer von euch auf die Sprünge helfen?

In einer Tabelle sammel ich Eventinformationen von Clients im Netzwerk,
jeder Eventlog hat einen TimeStamp. Ich möchte mir nun den jeweils
letzten Eintrag je Client ausgeben lassen.

Folgende Tabelle sei gegeben:
+------------+---------------------+--------+----------------------+---------------+
| log_client | log_time            | log_id | log_status           |
log_errorcode |
+------------+---------------------+--------+----------------------+---------------+
| wupws029   | 2002-01-28 14:12:35 |  14152 | FAILED (fatal error) |
         100 |
| wupws029   | 2001-09-24 09:30:28 | 178316 | FAILED (fatal error) |
          65 |
| wupws029   | 2002-01-28 15:01:45 | 205236 | FAILED (fatal error) |
           7 |
| wupws029   | 2002-05-27 15:15:19 |  77750 | FAILED (fatal error) |
         200 |
| wupws029   | 2003-01-09 13:47:55 | 345549 | SUCCESS              |
           0 |
| wupws031   | 2002-10-15 11:46:43 |  38712 | FAILED (fatal error) |
          50 |
| wupws031   | 2002-11-16 22:22:41 | 303148 | FAILED (fatal error) |
         200 |
| wupws031   | 2002-11-29 21:57:15 | 315225 | FAILED (fatal error) |
         200 |
| wupws031   | 2002-12-16 23:02:45 | 325208 | FAILED (fatal error) |
         200 |
| wupws031   | 2003-01-13 21:46:54 | 347030 | FAILED (fatal error) |
         200 |
+------------+---------------------+--------+----------------------+---------------+
10 rows in set (0.01 sec)

Wenn ich nun das folgende SELECT verwende bekomme ich zwar den jeweils
aktuellsten TimeStamp, aber leider stimmt der Zusammenhang zwischen
TimeStamp und log_id nicht mehr :-(

mysql> SELECT log_client,MAX(log_time) AS
log_time_last,log_id,log_status,log_errorcode FROM p7_swd_log WHERE
log_fpkg = 'DP_NTW_IDG_IMAGE_2002_NES_10' GROUP BY log_client ORDER BY
log_client,log_time;
+------------+---------------------+--------+----------------------+---------------+
| log_client | log_time_last       | log_id | log_status           |
log_errorcode |
+------------+---------------------+--------+----------------------+---------------+
| wupws029   | 2003-01-09 13:47:55 |  14152 | FAILED (fatal error) |
         100 |
| wupws031   | 2003-01-13 21:46:54 |  38712 | FAILED (fatal error) |
          50 |
+------------+---------------------+--------+----------------------+---------------+
2 rows in set (0.01 sec)

Was muss ich an dem SELECT ändern, damit der Zusammenhang der
Tabellenspalten erhalten bleibt, und das Ergebniss wie erwartet
folgendermassen aussieht ?

+------------+---------------------+--------+----------------------+---------------+
| log_client | log_time_last       | log_id | log_status           |
log_errorcode |
+------------+---------------------+--------+----------------------+---------------+
| wupws029   | 2003-01-09 13:47:55 | 345549 | SUCCESS              |
           0 |
| wupws031   | 2003-01-13 21:46:54 | 347030 | FAILED (fatal error) |
         200 |
+------------+---------------------+--------+----------------------+---------------+
2 rows in set (0.01 sec)


HERZLICHEN DANK schonmal im voraus... ich hoffe die Frage ist nicht zu
dumm... und ich habe in der Doku nichts übersehen... hinweise auf die
entsprechenden Doku abschnitte würden mir auch schon weiterhelfen.

Gruss aus Köln

	Thomas Brühl.

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive