yo,
Danke dir. Pro zusätzlicher Bedingung kommt immer ein JOIN hinzu?
genau, deswegen ist der SELF JOIN in diesem falle nicht besonders gut geeignet, weil er sich schlecht erweitern läßt. da ist dein weg über GROUP BY schon ein guter. allerdings setzt er vorraus, dass die beiden id's zusammen einen PK bilden, da es sonst probleme mit dem COUNT(*) geben kann. aber das sollte sicherlich der fall sein.
ine kleine ergänzung noch, die OR bedingunen lassen sich besser zusammenfassen.
WHERE amk.masz <> 'n' AND amk.merkmal_id IN (45, 1, 53, 2)
Als ich die Frage stellte, wusste ich nicht, dass man GROUP BY mit COUNT kombinieren und mit HAVING weiter einschränken kann.
nun HAVING ist genau dafür gemacht worden, gruppierungen weiter einzuschränken. und da HAVING er ganz am "schluss" angewandt wird, lassen sich auch hier aggregat-funktionen einsetzten.
Ilja