SQL - SELECT * WHERE perm=4 AND perm=7 GROUP BY users
Dobrý den,
mám SQL tabulku, kdy potřebuji ve sloupci "users" najít všechny uživatele, kteří mají oprávění ve sloupci "perm" nastaveno na 4 a 7. Zároveň chci toho uživatele zobrazit jen jednou.
Když dám
Když dám
Já chci ale pouze ty, který splňují perm=4 AND perm=7 + je seskupit (zobrazit jen jednou dané jméno), tzn:
Víte někdo jak na to? Moc díky
Dobrý den,
udělejte to pomocí SQL poddotazu (subquery) a "WHERE exists":
Výsledek:
mám SQL tabulku, kdy potřebuji ve sloupci "users" najít všechny uživatele, kteří mají oprávění ve sloupci "perm" nastaveno na 4 a 7. Zároveň chci toho uživatele zobrazit jen jednou.
USERS | PERM
karel | 4
martina | 5
čenda | 4
karel | 7
martina | 3
václav | 1
radek | 7
radek | 4
Když dám
SELECT users FROM table WHERE perm=4 AND perm=7 GROUP BY users
tak:....
nedostanu žádný výsledek
Když dám
SELECT users FROM table WHERE perm=4 OR perm=7 GROUP BY users
, tak dostanu....
karel (má 4 a 7)
radek (má 4 a 7)
čenda (má jen 4) = to je špatně
Já chci ale pouze ty, který splňují perm=4 AND perm=7 + je seskupit (zobrazit jen jednou dané jméno), tzn:
....
karel
radek
Víte někdo jak na to? Moc díky
ODPOVĚĎ
Dobrý den,
udělejte to pomocí SQL poddotazu (subquery) a "WHERE exists":
SELECT users as u, perm
FROM table
WHERE perm='4'
and exists(SELECT users FROM table WHERE users = u and perm='7')
Výsledek:
....
karel
radek