Mailinglisten-Archive |
Hanjo Grüßner schrieb: > sri, es ist die -version 4.1.11 > > Ab welcher Version sind denn Subselects möglich ? 4.1 > Ich habe eine table: namen (Darin sind eben die Namen gespeichert). > Dann eine table: grade. Dort sind zwei femdkey´s namen grad_id und > name_id, sowie ein Datum (seit) gespeichert. > name_id bezieht sich natürlich auf table namen. > > Dann habe ich eine table: dgrad, hierin sind soetwas wie > 'Dienstbezeichungen' gespeichert. der Fremdkey 'grad_id' bezieht sich > hierauf. > > Dann habe ich eine table: punkte > Hierin ist ebenfalls der fremdkey 'name_id' auf die table 'namen' drin, > sowie gewisse Punkte, ggf. mehrfach zu jeder name_id. > > Mit diesem Select: > SELECT name, vorname, Dienstgrad, date_format(seit,'%d.%m.%Y') as 'Dgd > seit', points > from namen, grade, dgrad left join punkte on punkte.name_id=namen.id > where grade.name_id = namen.id and grad_id = dgrad.id > > bekomme ich zu einer Person verschiedene Dienstgrade. SELECT `namen`.`name`, `namen`.`vorname`, `dgrad`.`Dienstgrad`, DATE_FORMAT(`grade`.`seit`, '%d.%m.%Y') AS `Dgd seit`, SUM(`punkte`.`points`) AS `Summenpunkte` FROM `namen` LEFT JOIN ( SELECT `name_id`, `seit`, `grad_id` ORDER BY `seit` DESC WHERE `name_id` = `namen`.`id` LIMIT 1 ) AS `grade` ON `grade`.`name_id` = `namen`.`id` LEFT JOIN `dgrad` ON `grad_id` = `dgrad`.`id` LEFT JOIN `punkte` ON `punkte`.`name_id` = `namen`.`id` GROUP BY `namen`.`id` ORDER BY `namen`.`name`, `dgrad`.`Dienstgrad` probiers mal so, habs nicht getestet -- Sebastian Mendel www.sebastianmendel.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive