witajcie mam takie pytanko mam 2 tabele
kategoria z polami kategoria_id oraz kategoria_specjalna
oraz dostep z polami dostep_kategoria_id , dostep_user_id , dostep_typ
musze zrobić cos takiego:
wybrać wszystkie kategoria_id z tabeli kategoria gdzie kategoria_specjalna =0
lub
kategoria_specjalna = 1 Ale wtedy w tablicy dostep musi być numer tej kategorii
wraz z numerem usera
innymi słowy musze zrobić left joina wyniku
SELECT kategoria_id
FROM kategoria
WHERE kategoria_specialna =0
OR kategoria_specialna =1
AND kategoria_id
IN (
SELECT dostep_kategoria_id
FROM dostep
WHERE dostep_user_id =2
)
oraz
SELECT dostep_kategoria_id, dostep_typ
FROM dostep
WHERE dostep_user_id =2
na dostep_kategoria_id = kategoria_id jak tego dokonać :)
chcę w wyniku dostac cos takiego
mając nastepujace dane:
KATEGORIA
kategoria_id| kategoria_specjalna
1 | 0
2 | 1
3 | 1
oraz
DOSTEP
dostep_kategoria_id | dostep_typ | dostep_user_id
2 | 8 | 1
chce dostać dla usera 1
kategoria_id | dostep_typ
1 | NULL <- poniewaz nie jest specjalna
2 | 8 <- ponieważ jest specjalna ale user nr 1 widnieje w tabeli dostep przy dostep_kategoria_id
Probowałem skonstruować left joina łączac oba zapytania ale jakos nie działa proszę o małą pomoc :)