Hallo Vinzenz,
Sieht nach einem Selfjoin aus:
SELECT a.artikel_id
FROM tabelle AS a
INNER JOIN tabelle as b ON a.artikel_id = b.artikel_id
WHERE a.merkmal_id = 63 AND b.merkmal_id = 64sollte das gewünschte Ergebnis liefern.
Danke dir. Pro zusätzlicher Bedingung kommt immer ein JOIN hinzu?
Ich glaube, diese Lösung ist mit PHP einfacher per for- Schleife zu generieren:
SELECT amk.artikel_id id, COUNT( * ) anz_mrk
FROM bia_artikel_merkmale amk
WHERE amk.masz <> 'n'
AND (
amk.merkmal_id =45
OR amk.merkmal_id =1
OR amk.merkmal_id =53
OR amk.merkmal_id =2
)
GROUP BY amk.artikel_id
HAVING COUNT( * ) =4
Als ich die Frage stellte, wusste ich nicht, dass man GROUP BY mit COUNT kombinieren und mit HAVING weiter einschränken kann.
Kalle