Mailinglisten-Archive |
Benedikt Quirmbach schrieb: > Hallo, > > ich habe eine Datenbank mit 7 Tabellen. Ich möchte herauslesen, welche > Datensätze in den letzten 10 Tagen geändert wurden, und daraus eine > chronologische Liste erstellen. > > Die Abfrage sieht dann ungefähr so aus: > (SELECT * FROM tabelle1 where NOW()-date < 1000000) UNION ALL (SELECT * > FROM tabelle2 where NOW()-date < 1000000) UNION ALL (SELECT * FROM > tabelle3 where NOW()-date < 1000000) UNION ALL (SELECT * FROM tabelle4 > where NOW()-date < 1000000) ORDER BY date desc, aktiv desc > > Das ist möglicherweise nicht so rasend gut gemacht. Falls Ihr eine > einfache und bessere Lösung habt, wäre ich für jeden Tipp dankbar. > Eine temporäre Tabelle wäre natürlich möglich, aber kompliziert, da die > Struktur der abgefragten Tabellen nicht überall gleich ist. > > Meine eigentliche Frage ist aber folgende: Wie kann ich bei der > weiteren Verarbeitung ohne weitere Abfragen herausbekommen, aus welcher > Tabelle der aktuelle Datensatz kommt? Kann ich irgendwie zusätzlich zu > den abgefragten Feldern eine Notiz an jeden gefundenen Datensatz > anhängen? > > Die Liste soll dann so aussehen: > 1.12.2004 > + Tabellenname: Text > + Tabellenname: Text2 > - Tabellenname2: Text3 > 2.12.2004 > + Tabellenname4: Text4 > - Tabellenname5: Text5 > > usw. (SELECT *, 'tabelle1' AS `table` FROM tabelle1 where NOW()-date < 1000000) UNION ALL (SELECT *, 'tabelle1' AS `table` FROM tabelle2 where NOW()-date < 1000000) UNION ALL (SELECT *, 'tabelle1' AS `table` FROM tabelle3 where NOW()-date < 1000000) UNION ALL (SELECT *, 'tabelle1' AS `table` FROM tabelle4 where NOW()-date < 1000000) ORDER BY date desc, aktiv desc -- Sebastian Mendel www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com www.sf.net/projects/phpdatetime www.sf.net/projects/phptimesheet -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive