Prozaiczny problem, ktory niestety mnie przerasta. Oczywiscie zapytanie jest dluzsze ale postaralem sie skrocic go do mozliwie jak najkrotszego zeby latwiej go wytlumaczyc.
Tabela cos w tym stylu:
user_id | rodzaj_id
-----------------------------
1 | 2
1 | 3
1 | 4
Potrzebuje wyciagnac id usera odpowiadajace konretnym dwom rodzaj_id, z tym ze jesli rodzaj_id nie wystepuje powinno mi zwrocic 0.
Problem wiec jest taki:
SELECT DISTINCT user_id FROM `problem` WHERE `rodzaj_id`=2 AND `rodzaj_id`=3
nie zwraca mi nic chociaz wartosci te wystepuja
SELECT DISTINCT user_id FROM `problem` WHERE `rodzaj_id`=2 OR `rodzaj_id`=3
nalezycie zwraca mi id lecz wstawienie tu danej ktora nie wystepuje, czyli
SELECT DISTINCT user_id FROM `problem` WHERE `rodzaj_id`=1 OR `rodzaj_id`=3
zwraca mi dalej user_id 1 choc nie powinno.
Probowalem tez testowac roznego rodzaju nawiasy, IN i na co tylko nie wpadlem ale bez rezultatow.
Podsumowujac chcialbym aby dla przykladu wskazujac 2,3,4 zeby wyrzucilo mi user_id=1
Natomiast wskazujac 1,2,3,4 zeby nie znalazlo mi nic.
Nie wiem wlasciwie czy to wogole mozliwe, no coz ale dzisiaj wigilia wiec niby kazde marzenie sie spelnia
