danke für den hinweis auf meine dummheit. aber leider kann ich ohne erklärung oder zumindest tips nichts damit anfangen

select c.name count(distinct(z.z_id)) anzahl, c.soll from cocktail c inner join cocktail_zutaten cz on ( c.c_id = cz.c_id ) inner join zutaten z on ( cz.z_id = z.z_id ) where z.name in ('zutat1','zutat2', ... )
select c.Name count(distinct(z.ID)) anzahl, c.soll from Cocktails c inner join CocktailsToZutaten cz on ( c.ID = cz.CocktailID ) inner join Zutaten z on ( cz.ZutatenID = z.ID ) where z.ZutatName in (".$zutaten.")";
Kommentar