Witam serdecznie,
Mam 3 tabele:
- tab_products - lista produktów
- tab_rel - lista łącząca produkty z grupami (productId, groupId)
- tab_groups - grupy
I teraz załóżmy w tabeli grup mamy 2 grupy: A i B.
W tabeli produkty mamy 3 produkty: product1, product2 i product3.
W tabeli grupy mamy grupy: A i B. I teraz product1 jest połączony z grupą A, product2 z grupą B, natomiast product3 z grupą A i B.
Teraz potrzebuje zapytania takiego aby pobrać produkty wyłącznie należące do grupy A i B, czyli powinno wypluć produkt product3.
Zapytanie z klauzulą IN()
odpada, ponieważ ona działa na zasadzie OR
, czyli jak dam
... WHERE groupId IN (A, B)
Wybierze produkty, które należą do A i/lub B, co oznacza wszystkie produkty.
Dzięki za podpowiedź!