Mailinglisten-Archive |
> ich habe eine Tabelle kunden mit kunden_id, ausgabe. Jetzt suche ich > alle Kunden, die > a) mehrere Ausgaben abonniert haben > b) alle Kunden, die mehr als eine Ausgabe haben, mit den bestellten > Ausgaben > c) alle Kunden, die eine Ausgabe x abonniert haben und die weiteren > Ausgaben des Kunden > > Tabelle: > Kunden: > kd_id , ausgabe_id > > a) SELECT count(kd_id) as anz FROM kunden GROUP BY kd_id HAVING anz >1 > > b) schon schwieriger und momentan fehlt mir die Idee > Mit subselect sollte es gehen. Kann leider meine MySQL noch nicht. Also > eher die Variante mit join? > Wie bekomme ich das hin. Natürlich schon möglichst auf der Kommandozeile. > SELECT kd_id,ausgabe_id FROM kunden GROUP BY kd_id bringt mir immer nur > eine ausgabe pro kunde SELECT kunden.kd_id, kunden.ausagbe_id, COUNT(k2.kd_id) as anz FROM kunden LEFT JOIN kunden AS k2 ON kunden.kd_id = k2.kd_id GROUP BY kunde.kd_id, kunden.ausgabe_id HAVING anz > 1 > > c) baut wohl auf b) auf und sollte, wenn b) erledigt ist nicht mehr so > schwer sein. SELECT kunden.kd_id, kunden.ausagbe_id, COUNT(k2.kd_id) as anz FROM kunden LEFT JOIN kunden AS k2 ON kunden.kd_id = k2.kd_id WHERE kunden.ausgabe_id = 'x' GROUP BY kunden.kd_id, kunden.ausgabe_id HAVING anz > 1 -- Sebastian Mendel www.sebastianmendel.de www.tekkno4u.de www.nofetish.com -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive