Mailinglisten-Archive |
> ich habe zwei Tabellen, in einer stehen Adressen und in einer anderen > stehen Kontaktangaben dazu. Zu jeder Adresse können verschiedene > Kontaktangaben stehen, jede Kontaktangabe ist aber mit einem Datum > versehen. > > Ich will jetzt einen Query, der zu jeder Adresse die jeweils jüngste > Kontaktangabe ausgibt: > > Wenn ich bspw. > > SELECT t1.firma, t1.id, t2.aquisedatum FROM adressen t1, kontakte t2 > WHERE t1.id=t2.adress_id GROUP BY t1.id ORDER BY t2.aquisedatum DESC > > eingebe, erhalte ich zwar zu jeder Adresse einen Kontakt, aber nicht den > jüngsten, was an dem GROUP Statement liegt. Es muss doch aber irgendwie > möglich sein, dass t2.aquisedatum nur das jüngste Kontaktdatum ergibt. Ohne die genaue Tabellenstruktur zu kennen, ist ein Join fix aus der Dose immer etwas schlecht zu schreiben, daher folgende Tipps: - Schau' Dir mal die Funktionen max() bzw. min() an, - denke daran, dass sich eine Tabelle auch mehrmals einsetzen laesst, - und zum Schluss koennte ein HAVING auch noch helfen. Damit und mit ein wenig RTFM muesste Dir die Query-Syntax nun eigentlich gelingen. Beste Gruesse, Ralf -- :: php::bar | Der Treffpunkt fuer Einsteiger und Fortgeschrittene :: http://phpbar.de
php::bar PHP Wiki - Listenarchive