Telemach [ Pretorianin ]
[MySQL] Zapytanie do bazy (join, many-to-many)
Witam!
Mam 3 tabele:
1. dzialy - id, name
2. grupy - id, name
3. dostep - id, dzial_id, grupa_id, opcja
Sprawa wygląda tak, że nie każdy dział / nie każda grupa ma swój "odnośnik" w tabeli dostęp.
Ja natomiast chciałbym wyświetlić wszystkie grupy / działy wraz z ich dostępem. Jeśli go nie mają (nie ma klucza w tabeli dostep), to chciałbym otrzymać wartość NULL po prostu.
Póki co, udaje mi się wyświetlić rekordy, które są mają klucze w tabeli dostęp.
Przykład (lista działów, nie wszystkie grupy są w tabeli "dostęp"):
- dział 1
--- grupa 1 -> dostep 2
--- grupa 2 -> NULL
--- grupa 3 -> dostep 4
Tabela dostep:
id - dzial - grupa - opcja
1 - 1 - 1 - 2
1 - 1 - 3 - 4
brakuje odwołania do grupy #2.
Ktoś byłby na tyle miły i mi pomógł?
Dziękuję.
przemek__ [ F1 2010 ]
Jakiego join'a stosujesz ?
Spróbuj zamiast join lub inner join użyć left / right join.
Telemach [ Pretorianin ]
Próbowałem wszelakich sposobów...
SELECT *
FROM `dzialy` dz
JOIN `dostep` d ON dz.id = d.dzial_id
RIGHT JOIN `grupy` g ON g.id = d.grupa_id
WHERE dz.id = 2