GRY-Online.pl --> Archiwum Forum

[MySQL] Zapytanie do bazy (join, many-to-many)

06.02.2011
18:29
smile
[1]

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ę.

06.02.2011
18:31
[2]

przemek__ [ F1 2010 ]

Jakiego join'a stosujesz ?

Spróbuj zamiast join lub inner join użyć left / right join.

06.02.2011
19:06
[3]

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

© 2000-2024 GRY-OnLine S.A.