phpbar.de logo

Mailinglisten-Archive

[dbs] SQL-Problem

[dbs] SQL-Problem

Konstantin Rekk k.rekk at intermatix.de
Fre Jul 16 11:18:13 CEST 2004


On Thursday 15 July 2004 19:50, ANGEL Harald wrote:
> Hi Liste!
> Folgendes Problem:
> Ich hab eine Tabelle A und eine Tabelle B. In Tabelle B gibts zu jedem Wert
> von A N Einträge. Ich will jetzt eine SQL haben, die mir einen Satz aus A
> anzeigt und dazu den Satz aus Tab B mit der grössten AutowertID. vielleicht
> wirds als Beispiel deutlich:
>
> SELECT A.id, A.irgendeinfeld, B.id, B.textfeld FROM A LEFT JOIN B ON A.id =
> B.aid WHERE A.id=1
>
> so, in B.id soll die Maximale ID stehen, das geht mit Max(B.id) soweit hab
> ich das gefunden. Das Eigentliche Ziel ist es, dass in B.textfeld auch der
> letzte Wert steht, das geht nämlich mit Max(B.textfeld) nicht.
> Last(B.textfeld) wie im Access geht leider unter MySQL nicht. Ich könnt
> nat. mit der gefundenen ID eine 2te SQL-Abfrage machen, das is aber
> unsportlich...
>
> Irgendwer eine Idee??
> Danke, Harald
> PS: Sorry für HTML-Mail, geht über OWA ned anders..


Mit correlated oder nested Querys wäre das kein Problem, aber nicht jede 
Version von MySQL unterstützt diese. Die neueren glaube ich schon:

Also eine Möglichkeit (nicht ausprobiert) sollte sein:

SELECT A.id, B.id, B.textfeld FROM A  LEFT JOIN B ON A.id =
B.aid WHERE A.id=1 and B.id=( SELECT max(B.id) FROM A WHERE B.aid=1)

-- 
Konstantin Rekk
Berlin
phone: +49 (0) 30 48623452
mobil: 0176 2100 6000
www.rekk.de
www.tanden-aikido.de


php::bar PHP Wiki   -   Listenarchive