phpbar.de logo

Mailinglisten-Archive

Kunden finden mit mehreren Abos

Kunden finden mit mehreren Abos

Cybot lists at sebastianmendel.de
Mon Aug 18 14:51:31 CEST 2003


> 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