Mailinglisten-Archive |
Hallo, die folgende Grundstruktur einer Abfrage SELECT c.familyID, p.personID, p.birthdatetr FROM tng_children AS c LEFT JOIN tng_people AS p ON p.personID=c.personID liefert im Falle von Drillingen z.B. folgendes: +----------+----------+-------------+ | familyID | personID | birthdatetr | +----------+----------+-------------+ | F13243 | I33126 | 1920-06-12 | | F13243 | I33127 | 1920-06-12 | | F13243 | I33128 | 1920-06-12 | +----------+----------+-------------+ D.h. diese Fälle von Zwillingen, Drillingen etc. sind dadurch gekennzeichnet, daß familyID (und damit die Eltern) und Geburtsdatum identisch sind. Die Abfrage soll nun so geändert werden, daß nur diejenigen Ergebniszeilen geliefert werden, wo identische Kombinationen von familyID und birthdatetr mehr als einmal vorkommen. Ich dachte an SELECT c.familyID, p.personID, p.birthdatetr, COUNT(*) FROM tng_children AS c LEFT JOIN tng_people AS p ON p.personID=c.personID GROUP BY birthdatetr HAVING COUNT(*)>=2; Für obiges Beispiel erhalte ich damit +----------+----------+-------------+----------+ | familyID | personID | birthdatetr | COUNT(*) | +----------+----------+-------------+----------+ | F13243 | I33126 | 1920-06-12 | 3 | +----------+----------+-------------+----------+ und habe damit Drillinge gefunden. Aber wie kriege ich die Einzelzeilen mit den unterschiedlichen Werten des Feldes personID? Dank im Voraus für Hilfe Ulrich -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive