Mailinglisten-Archive |
Hallo, folgendes Problem, ich habe eine Tabelle Jobname Table Jobname: jobname varchar(40) titel varchar(80) lastchanged (dtetime) Im Feld LastChanged steht immer ein Timestamp der letzten Änderung. Der Jobname setzt sich zusammen aus einem Schlüssel und dem Namen der Liga plus einem beliebigen Zusatz, damit der alte Job nicht überschrieben wird. Beispiel: jobname = "fu001_bundesliga_0604" titel = "Bundesliga" lastchanged = "2002-04-06 17:00:00" jobname = "fu001_bundesliga_1304" titel = "Bundesliga" lastchanged = "2002-04-13 19:00:00" Es gibt ca. 100 verschiedene Schlüssel in der Form (fu001, fu002, fu003...) Die Sportart bezeichnen die ersten beiden Buchstaben. (fu = fussball, ha = handball, etc) Meine Aufgabe, eine Übersicht zu generieren, wann die einzelnen Tabellen zuletzt aktualisiert wurden. Angezeigt werden soll die Sportart, der Titel und das letzte Aktualisierungsdatum . Am obigen Beispiel also: Fussball Bundesliga 20020413 19:00 Uhr Krieg ich das in _einer_ Abfrage unter ??? Momentan mach ich es für einen speziellen Schlüssel in der Form: SELECT jobname, titel, lastchanged FROM jobname WHERE jobname LIKE 'fu001%' ORDER BY lastchanged DESC LIMIT 1 Für mich bedeutet es derzeit, für jeden Schlüssel eine Abfrage zu bauen. Das sollte ja mit einer Schleife, die den Schlüssel als Variable an die Query übergibt etwas einfacher werden. Ich müsste dann sozusagen alle Schlüssel in ein Array packen und das Array auslesen. -- man möge mich berichtigen, wenn was falsch ist -- Diese Schleife würde dann aber für jeden Schlüssel eine neue Abfrage der DB starten, was natürlich u.U. ganz schön lange dauert und an die Performance gehen wird. Denke ich. Hat jemand eine Idee, wie das Ganze ein wenig anders, ressourcenschonend gehen könnte? Das Auslesen der Sportart würde ich dann über PHP lösen. Danke für eure Tipps. Gruß Andreas --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive