phpbar.de logo

Mailinglisten-Archive

Abfrage zum Auffinden von Zwillingen, Drillingen etc.

Abfrage zum Auffinden von Zwillingen, Drillingen etc.

Ulrich Kretschmer u.kretschmer.mysql.4t2 at bergruf.de
Mon Mar 27 21:51:20 CEST 2006


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