phpbar.de logo

Mailinglisten-Archive

[dbs] Problem mit SELECT und GROUP

[dbs] Problem mit SELECT und GROUP

Nico Haase nico.haase at gmx.de
Mit Apr 7 18:22:35 CEST 2004


Moin,

>> ich bins mal wieder. Folgendes neue Problem ist
> aufgetreten, nachdem die JOIN-Sache von der letzten Woche
> optimal klappt (Danke nochemal, Sebastian und Peter!): In
> einer Tabelle habe ich Rezensionen gespeichert. Nun
> versuche ich, die längsten Rezensionen, gruppiert nach
> den Rezensenten, zu bekommen. Der Query "SELECT buchnr,
> titel, vorname, autor, vorschlag, MAX (LENGTH (CONCAT (
> beschreibung, fazit  ) ) ) AS laenge FROM buecher GROUP
> BY vorschlag;" liefert schon die richtige Länge zu den
> richtigen Rezensenten, aber die falschen restlichen
> Felder. Wie muss ich den Query umschreiben, damit auch
> der richtige Wert für buchnr, titel, vorname und autor
> gefunden wird, der dem Feld entsprechen soll, welches die
> Länge für den MAX-Befehl liefert?
>
> Vielleicht könntest du dich mal dazu druchringen nicht solche
> 'Textklotze' hier hin zu hauen, sondern mal etwas
> Formatierung walten zu lassen, dann liese sich das
> auch besser lesen und es> würde vielleicht
> mehr Antworten geben.
>
> Außerdem fehlen Informationen über den Aufbau deiner Tabellen.

Beides Mal: Du hast Recht, tut mir leid. Aaaaaaber....

> ... mit einem LEFT JOIN könnte man dir bestimmt helfen
>
>
>     SELECT `copy`.*,
>            MAX(`org`.`val`) AS `maxval`
>       FROM `org`
> LEFT JOIN `org` AS `copy`
>         ON `org`.`[pk]` = `copy`.`[pk]`
>   GROUP BY `org`.`[pk]`
>     HAVING `copy`.`val` = `maxval`
>
> ... oder so ähnlich ...

...der JOIN mit sich selbst ist genial! Danke!
mfg
Nico

-- 
www.buchtips.net - Rezensionen online

php::bar PHP Wiki   -   Listenarchive