Zdravím ještě jenou,

po konzultaci s kolegama z práce jsme přišli na 2 možná řešení
(napíšu v čistém SQL)

Požadujeme vyhledat osoby, které mají zároveň "auto" a "bicykel"

varianta 1:

SELECT a.* FROM a
WHERE (SELECT count(*) FROM ab WHERE ab.b_id IN(1,2) AND ab.a_id=a.id)=2;

varianta 2: EXISTS

SELECT a.* FROM a
WHERE exists(SELECT ab.a_id FROM ab WHERE ab.b_id=1 AND ab.a_id=a.id)
AND exists(SELECT ab.a_id FROM ab WHERE ab.b_id=2 AND ab.a_id=a.id);


Fafi

Odpovedet emailem