Autor | Zpráva | ||
---|---|---|---|
Micruss Profil |
#1 · Zasláno: 1. 10. 2015, 15:59:12
Zdravím,
lidi chtěl jsem se zeptat mám 2 tabulky uživatele a skupiny ve skupině mám i parent_id když je 0 tak je to ředitel skupiny.... dále bych chtěl zobrait všechny uživatele kromě těch co mají parent_id = 0 ale vůbec mi to nejde, koušel jsem JOIN ale vyháelo mi to úplně všechny a když jsem dal WHERE parent_id = 0 tak jenom ty ostatní co jsou pod ředitelama (manažery) asi takhle: //JOIN skupiny ON skupiny.leader = users.id WHERE skupiny.parent_id != 0 $query = "SELECT users.* FROM users ORDER BY name ASC"; - to zakomentované jsem smazal v dotazu aby to vypisovalo ne 5 lidí ale všechny. Předem díky za odpověď |
||
lionel messi Profil |
#2 · Zasláno: 1. 10. 2015, 16:48:10
Micruss:
Postačí ti použitie operátoru != nasledovne: SELECT * FROM users u JOIN skupiny s ON s.leader = u.id WHERE s.parent != 0 Nerozumiem, prečo by tento dotaz mal vypisovať len 5 ľudí. Vypíše predsa všetkých, ktorí nie sú riaditeľmi. |
||
juriad Profil |
#3 · Zasláno: 1. 10. 2015, 17:22:55
Micruss:
Prosím, používej interpunkci, není ti rozumět. Máš dvě tabulky, ale vůbec není jasná vazba mezi nimi. Přece uživatel může být v několika skupinách a zároveň skupina může obsahovat více uživatelů. Chybí ti tam tedy nejspíš vazební tabulka. Skupiny mohou být nějak do sebe zanořené, nebo proč tam máš parent_id? Místo 0 bys měl v případě chybějící hodnoty vložit NULL. Nejlepší asi bude ukázat celé tabulky (příkazy SHOW CREATE TABLE users , ...) a ukázku dat.
|
||
Časová prodleva: 9 let
|
0