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";
    //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:

1SELECT *
2FROM users u
3JOIN skupiny s
4ON s.leader = u.id
5WHERE s.parent != 0
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.
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.

Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:


Běda vám, jestli to bude blábol.

0