Skip to content

Instantly share code, notes, and snippets.

@ahojukka5
Last active May 25, 2020 07:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ahojukka5/5ce49447a67a5a93a7eb9f18219bbe1f to your computer and use it in GitHub Desktop.
Save ahojukka5/5ce49447a67a5a93a7eb9f18219bbe1f to your computer and use it in GitHub Desktop.
CREATE TABLE Kayttajat (id INTEGER PRIMARY KEY, tunnus TEXT);
INSERT INTO Kayttajat (tunnus) VALUES ("uolevi"), ("maija"), ("kaaleppi"), ("liisa");
CREATE TABLE Ryhmat (id INTEGER PRIMARY KEY, nimi TEXT);
INSERT INTO Ryhmat (nimi) VALUES ("puput"), ("kilit");
CREATE TABLE Oikeudet (kayttaja_id INTEGER, ryhma_id INTEGER);
INSERT INTO Oikeudet (kayttaja_id, ryhma_id)
VALUES (1, 1), (1, 2), (2, 1), (4, 2);
SELECT
DISTINCT A.tunnus
FROM
Kayttajat A,
Kayttajat B,
Oikeudet X,
Oikeudet Y
WHERE
A.id = X.kayttaja_id
AND
B.id = Y.kayttaja_id
AND
X.ryhma_id = Y.ryhma_id
AND
B.tunnus = 'uolevi';
-- alikyselyllä
SELECT
DISTINCT(Kayttajat.tunnus)
FROM
Kayttajat,
Ryhmat,
Oikeudet
WHERE
Kayttajat.id = Oikeudet.kayttaja_id
AND
Ryhmat.id = Oikeudet.ryhma_id
AND
Ryhmat.id IN (
SELECT
Oikeudet.ryhma_id
FROM
Kayttajat,
Oikeudet
WHERE
Kayttajat.id = Oikeudet.kayttaja_id
AND
Kayttajat.tunnus = 'uolevi'
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment