Jörg: Count mit subselect Abfrage

Beitrag lesen

Moin,

Bei meinem Beispiel hat der User über eine Webseite (oder wie auch immer) bereits 2 Eigenschaften gewählt - süß (2) und Desert (17). Jetzt möchte ich wissen wie viel Rezepte die restlichen Eigenschaften in Kombination mit den gewählten Eigenschaften haben.

du möchtest also wissen, dass es bei diesen Rezepten (süß + sauer) auch noch "5 x vegetarisch" gibt, korrekt?

Ich habe mal versucht das rein gedanklich nachzuvollziehen. Vermutlich brauchst du ein SQL-Statement wie folgendes:

  
-- Eigenschaften + Anzahl Rezepte: "grün (3)", "vegetarisch (6)" etc.  
SELECT t3.e, COUNT(DISTINCT t3.id)  
FROM re t3  
WHERE id IN (  
  -- Rezepte (ID) wo süß + sauer  
  SELECT DISTINCT t1.id  
  FROM re t1  
  INNER JOIN re t2 ON t1.id = t2.id  
  WHERE t2.e = <süß> AND t2.e = <sauer>  
)  
GROUP BY t3.e  

RE ist hier die Rezept/Eigenschaft-Tabelle.