Îlja: Samuel Vogel

Beitrag lesen

yo,

So weit so gut. Es gibt aber nun ein weiteres Feld action. Und ich will den defendant nur dann, wenn er 3 mal vorkommt UND mindestens einmal davon das Feld action, den Wert 'bad' hat.

was du suchst nennt sich korrelierte unterabfrage. leider hast du uns dein dbms und deiner version verschwiegen, ich vermute mal mysql, wo unterabfragen ab 4.1+ unterstützt werden.

SELECT t1.defendant
FROM abuse t1
WHERE EXISTS (SELECT NULL
              FROM abuse t2
              WHERE t2.defend = t1.defend
              AND t2.action = 'bad'
             )
GROUP BY t1.defendant
HAVING COUNT(*) >= 3
LIMIT 1

Ilja