Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Struktura zapytań
Forum PHP.pl > Forum > Przedszkole
Fred1485
Cześć znów,

od razu przechodzę do rzeczy:

tabela users:

id | login | password | primary_group | registration

tabela groups:

id | name | description |

tabela user_has_group

user_id | group_id

i teraz chcąc poznać jakie grupy posiada dany użytkownik to wklepuję zapytanie typu:

  1. SELECT users.login, groups.name FROM users, groups, user_has_group WHERE users.id = user_has_group.user_id AND groups.id = user_has_group.group_id;


oczywiście działa, zaznaczam że nigdy nie brałem się za złączania (dobrze mówięquestionmark.gif) tylu JOIN itp.
I teraz pytanie czy takie zapytania ze złączeniami robić czy tak jak teraz robię wystarczy?

nospor
Twoje zapytanie nie wyswietli uzytkownikow, ktorzy nie mają grup.

A przykladowo taki LEFT JOIN pozwala na wyswietlenie wszystkich userow niezaleznie czy mają grupy czy nie.
Fred1485
Ok ale mając moje zapytanie chcąc zapytać czy user należy do jakiejś grupy policze w php ilosc rekordow i jak zwroci 0 to nie będzie nigdzie należał a uzywajac left join i tak rekord z null zwróci?
nospor
Ale jak chcesz zapytac czy user nalezy do jakiejs grupy to wystarczy ze zrobisz
select count(*) from user_has_group where user_id=3 and group_id=4
i juz
Fred1485
no ok to pozostaje lekturka o złączeniach.
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-2025 Invision Power Services, Inc.