Mam 3 tabele - questions, countries, questions_has_countries
questions : id, question
countries : id, name
questions_has_countries : questions_id, countries_id
Chcialbym wyselekcjonowac takie pytanie ktore ma TYLKO w powiazanych np. panstwa 1 i 2, a nie ze zawiera
jedno z tych dwoch.
Probowalem w ten sposob ale bez sukcesu :
SELECT q.question, q.id , c.id FROM questions AS q, countries AS c, questions_has_countries AS qhc WHERE c.id = qhc.countries_id AND qhc.questions_id = q.id AND c.id IN (1,2) GROUP BY q.question HAVING COUNT( qhc.countries_id ) = 2
5 linijka zawza mi rekordy i counter przestaje dzialac poprawnie. Zakladam ze podchodze do tego ze zla logika zatem potrzebuje POMOCY !

Wywalic 5 linijke
i NADPISAC HAVING nastepujaco :
HAVING SUM(c.id IN (1,2)) = 2 AND COUNT(DISTINCT c.id) = 2
Znalazlem opowiedz
