Hey Leute,
Ich habe folgendes SQL Statement:
SELECT
defendantFROM
abuse WHERE ( t1.
action!= 'skip' GROUP BY
defendantHAVING COUNT(*) >= 3 ) OR EXISTS (SELECT NULL FROM
abuse t2 WHERE t2.
defendant = t1.
defendant AND t2.
action = 'report');
Dieses Statement soll mir aus folgender Tabelle alle "defendant"s liefern, die entweder 3 mal vorkommen (aber 'skip' im Feld 'action' wird nicht gezählt) oder die einmal mit dem Wert 'report' im Feld 'action'.
+-----------+---------------------+--------+
| defendant | time | action |
+-----------+---------------------+--------+
| boss512@1 | 2007-10-09 11:27:45 | bad |
+-----------+---------------------+--------+
| ... | ... | ... |
+-----------+---------------------+--------+
Es funktioniert jedoch nicht, da ja "GROUP BY" immer nach "WHERE" Fragen kommen muss. Aber ich will ja praktisch, das das "GROUP BY" gar nicht immer ausgeführt wird.
Brauche ich dazu wirklich 2 SQL Statements, oder kann ich es in einem bewerkstelligen?
so long,
Samy