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