Üks-mitmele seos yritused(id, nimetus, kuupaev) osalejad(id, hyydnimi, elektronpost, yrituse_id) CREATE TABLE yritused( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, nimetus VARCHAR(50), kuupaev DATE ); INSERT INTO yritused VALUES (DEFAULT, 'Reedene pidu', '2016-03-04'); INSERT INTO yritused VALUES (DEFAULT, 'Muusikaline jalutuskäik Viigi ääres', '2016-03-18'); +----+----------------------------------------+------------+ | id | nimetus | kuupaev | +----+----------------------------------------+------------+ | 1 | Reedene pidu | 2016-03-04 | | 2 | Muusikaline jalutuskäik Viigi ääres | 2016-03-18 | +----+----------------------------------------+------------+ CREATE TABLE osalejad( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, hyydnimi VARCHAR(35), elektronpost VARCHAR(35), yrituse_id INT, FOREIGN KEY(yrituse_id) REFERENCES yritused(id) ); INSERT INTO osalejad VALUES (DEFAULT, 'Juku', 'juku@abc.ee', 2); INSERT INTO osalejad VALUES (DEFAULT, 'Kati', 'juku@abc.ee', 2); INSERT INTO osalejad VALUES (DEFAULT, 'Mati', 'juku@abc.ee', 1); +----+----------+--------------+------------+ | id | hyydnimi | elektronpost | yrituse_id | +----+----------+--------------+------------+ | 1 | Juku | juku@abc.ee | 2 | | 2 | Kati | juku@abc.ee | 2 | | 3 | Mati | juku@abc.ee | 1 | +----+----------+--------------+------------+ SELECT * FROM osalejad JOIN yritused ON osalejad.yrituse_id=yritused.id; +----+----------+--------------+------------+----+----------------------------------------+------------+ | id | hyydnimi | elektronpost | yrituse_id | id | nimetus | kuupaev | +----+----------+--------------+------------+----+----------------------------------------+------------+ | 1 | Juku | juku@abc.ee | 2 | 2 | Muusikaline jalutuskäik Viigi ääres | 2016-03-18 | | 2 | Kati | juku@abc.ee | 2 | 2 | Muusikaline jalutuskäik Viigi ääres | 2016-03-18 | | 3 | Mati | juku@abc.ee | 1 | 1 | Reedene pidu | 2016-03-04 | +----+----------+--------------+------------+----+----------------------------------------+------------+ -- Millisel üritusel mitu osalejat SELECT COUNT(*), yritused.nimetus FROM osalejad JOIN yritused ON osalejad.yrituse_id=yritused.id GROUP BY yrituse_id; +----------+----------------------------------------+ | COUNT(*) | nimetus | +----------+----------------------------------------+ | 1 | Reedene pidu | | 2 | Muusikaline jalutuskäik Viigi ääres | +----------+----------------------------------------+ SELECT GROUP_CONCAT(hyydnimi), yritused.nimetus, kuupaev FROM osalejad JOIN yritused ON osalejad.yrituse_id=yritused.id GROUP BY yrituse_id; +------------------------+----------------------------------------+------------+ | GROUP_CONCAT(hyydnimi) | nimetus | kuupaev | +------------------------+----------------------------------------+------------+ | Mati | Reedene pidu | 2016-03-04 | | Juku,Kati | Muusikaline jalutuskäik Viigi ääres | 2016-03-18 | +------------------------+----------------------------------------+------------+ SELECT GROUP_CONCAT(hyydnimi), yritused.nimetus, kuupaev, COUNT(*) FROM osalejad JOIN yritused ON osalejad.yrituse_id=yritused.id GROUP BY yrituse_id ORDER BY COUNT(*) DESC; +------------------------+----------------------------------------+------------+----------+ | GROUP_CONCAT(hyydnimi) | nimetus | kuupaev | COUNT(*) | +------------------------+----------------------------------------+------------+----------+ | Juku,Kati | Muusikaline jalutuskäik Viigi ääres | 2016-03-18 | 2 | | Mati | Reedene pidu | 2016-03-04 | 1 | +------------------------+----------------------------------------+------------+----------+