Autor Zpráva
Micruss
Profil
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
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: