SQL - SELECT * WHERE perm=4 AND perm=7 GROUP BY users

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.


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



Komentáře

Vaše reakce na SQL - SELECT * WHERE perm=4 AND perm=7 GROUP BY users

Související obsah

databaze

sql

mysql

subquery

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.