Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z zapytaniem wiele do wielu
grzesiek_g
post
Post #1





Grupa: Zarejestrowani
Postów: 249
Pomógł: 30
Dołączył: 18.07.2007

Ostrzeżenie: (0%)
-----


Witam

Mam trzy tabele:

users
+id
username

users_roles
+user_id
+role_id

roles
+id
name

i zapytanie:
  1. SELECT users.*,
  2. GROUP_CONCAT(DISTINCT roles.name ORDER BY roles.name SEPARATOR ', ' ) AS rolenames
  3. FROM users_roles INNER JOIN users ON users_roles.user_id = users.id
  4. INNER JOIN roles ON users_roles.role_id = roles.id
  5. GROUP BY users_roles.user_id

Wszystko jest w porządku jeśli id użytkownika z tabeli users ma swoje odzwierciedlenie w tabeli users_roles, problem gdy tak nie jest i ten user nie jest zwracany przez to zapytanie.

Moje pytanie: czy da się przerobić tak to zapytanie, by zwracało tak jak dotychczas użytkowników o id, które ma odzwierciedlenie w tabeli users_roles (a co za tym idzie jakieś przydzielone prawa z tabeli roles), oraz tych uzytkowników, którzy nie mają przydzielonych żadnych praw (nie ma ich w tabeli users_roles - a konkretnie nie ma ich id ponieważ nie posiadają żadnych praw).

Nie chciałbym robić kolejnego poziomu uprawanień - brak - bo wymagałoby to zmiany trochę linii kodu PHP.

Ten post edytował grzesiek_g 21.03.2008, 01:19:08


--------------------
Warsztat: Ubuntu 12.10, PHPStorm
http://vertoo.pl
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 13:22