Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wiele do wielu
Forum PHP.pl > Forum > Bazy danych > MySQL
xamil
Pytanie:
Trzy tabele. Tabela uzytkownicy i dwie dodatkowe mające definiować uprawnienia na zasadzie wiele do wielu.
1. uzytkownicy:
id | user

2. uzytkownicy_prawa:
id | id_uzytkownik | id_prawo

3. prawa
id | typ

I teraz jak wyciągnąć z tego tylko tych użytkowników którzy nie mają prawa 'admin' (prawa.typ!='admin')?
spenalzo
  1. SELECT u.nazwa FROM uzytkownicy u LEFT JOIN uzytkownicy_prawa up ON (u.id=up.id_uzytkownik) LEFT JOIN prawa p ON (up.id_prawo=u.id AND p.typ!='admin') GROUP BY u.id

Coś takiego chyba.
xamil
Nie działa:/ Wyświetla mi zawsze 72 użytkowników (czyli wszystkich:/) niezależnie czy wpisze "p.typ!='admin'" czy "p.typ='admin'". Tak w ogóle to czemu to jest w ON?
nospor
Wydzielam z : http://forum.php.pl/index.php?showtopic=2093&st=0
Tamten topic ma sluzyc na gotowe rozwiązania, a nie na rozwiązywanie.

Cytat
Tak w ogóle to czemu to jest w ON?
Zajrzyj do manuala odnosnie left join a sie dowiesz.

Wczoraj byl niemalze identyczny topic:
Temat: Relacja wiele do wielu wyciaganie danych
Nic tylko dostosowac do swoich potrzeb smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.