Mailinglisten-Archive |
Nico Haase schrieb: > SELECT `b1`.`buchnr` AS buchnr, `b1`.`vorschlag` AS vorschlag, `b1`.`titel` AS titel, `b1`.`vorname` AS vorname, `b1`.`autor` AS autor, LENGTH( CONCAT( `b1`.`beschreibung` , `b1`.`fazit` ) ) AS laenge, max( LENGTH( CONCAT( `b2`.`beschreibung` , `b2`.`fazit` ) ) ) AS laenge2 > FROM `buecher` AS b1 > LEFT JOIN `buecher` AS b2 ON `b1`.`buchnr` = `b2`.`buchnr` > GROUP BY `b1`.`vorschlag` > HAVING laenge = laenge2 > > Insgesamt müsste der Query meiner Meinung nach mindestens 65 Zeilen zurückgeben, laut "SELECT distinct ( vorschlag ) FROM buecher;" existieren so viele verschiedene Einträge. Es sind aber nur 35 Zeilen - kannst du dir (oder besser mir *g*) das erklären? ich kenne deine Tabellen-Struktur immer noch nicht ... was willst du denn un genau? das Buch mit der längsten Rezension? zu jedem Buch den Rezensenten mit der längsten Rezension? oder zu jedem Rezensenten das Buch mit seiner längsten Rezension? das Feld anhand dessen 'gejoint' wird muss das selbe sein wie das wonach gruppiert wird! das Buch mit dem längsten Rezesenten: SELECT `b1`.*, LENGTH(CONCAT(`b1`.`beschreibung`,`b1`.`fazit`)) AS `l`, MAX(LENGTH(CONCAT(`b2`.`beschreibung`,`b2`.`fazit`))) AS `l2` FROM `buecher` AS `b1` LEFT JOIN `buecher` AS `b2` ON `b1`.`buchnr` = `b2`.`buchnr` GROUP BY `b1`.`buchnr` HAVING `l` = `l2` der Rezensent mit der Lägsten Rezension: dazu fehlt mir das Feld welches den Rezensenten eindeutig identifiziert! vorschlag? vorname? -- Sebastian Mendel (www.sebastianmendel.de) *www.warzonez.de* | www.tekkno4u.de | www.nofetish.com
php::bar PHP Wiki - Listenarchive