Christian Kruse: Überprüfung eines Feldes in zwei unterschiedlichen Zeilen

Beitrag lesen

Moin T-Rex,

MySQL 5.x
Genauer weiß ich es aus dem Kopf leider nicht, müsste ich erstmal nachgucken.

Das habe ich befürchtet. Dafür gibt es keine schöne Lösung, denke ich. Ich habe zwei im Kopf, die eine arbeitet mit GROUP\_CONCAT() und LIKE, die anderen arbeitet mit einer correlated subquery:

SELECT id, GROUP_CONCAT(pruefung ORDER BY pruefung ASC, ',') AS grp FROM tmp GROUP BY id HAVING grp LIKE '%7,8%';

SELECT id AS outer_id, (SELECT COUNT(id) FROM tmp WHERE pruefung IN (7, 8) AND id = outer_id GROUP BY id) AS cnt FROM tmp GROUP BY outer_id HAVING cnt >= 2;

Schön sind beide nicht. Aber beide liefern das gewünschte Ergebnis.

LG,
 CK