· 6 years ago · Apr 09, 2019, 05:26 PM
1--1) elencare i prossimi 3 eventi con data a partire da oggi
2
3SELECT *
4FROM eventi
5WHERE giorno > NOW()
6ORDER BY giorno ASC
7LIMIT 3
8
9--2) quanti eventi si sono svolti o si svolgeranno fra il 01/11/2018
10-- e il 31/12/2018 al Multisala Eur.
11
12SELECT COUNT(*) AS NumeroEventi
13FROM eventi, luoghi
14WHERE fk_luoghi = luoghi.id
15AND nome = 'Multisala Eur'
16AND giorno BETWEEN '2018-11-01' AND '2018-12-31';
17
18--3) Visualizzare la societĂ che ha organizzato il maggior numero di eventi
19
20CREATE VIEW IF NOT EXISTS CountEventi(idsoc, cont)
21AS SELECT fk_societa, COUNT(*)
22FROM eventi
23GROUP BY fk_societa;
24
25
26SELECT id, descrizione, cont
27FROM societa, CountEventi
28WHERE cont = (
29 SELECT MAX(cont)
30 FROM CountEventi
31 )
32AND CountEventi.idsoc = societa.id
33
34
35--CREATE
36
37CREATE TABLE luoghi(
38 id INT PRIMARY KEY AUTO_INCREMENT,
39 nome VARCHAR(255),
40 citta VARCHAR(255),
41 nazione VARCHAR(255)
42);
43
44CREATE TABLE tipologie(
45 id INT PRIMARY KEY AUTO_INCREMENT,
46 tipo VARCHAR(255)
47);
48
49CREATE TABLE societa(
50 id INT PRIMARY KEY AUTO_INCREMENT,
51 descrizione VARCHAR(255)
52);
53
54CREATE TABLE eventi(
55 id INT PRIMARY KEY AUTO_INCREMENT,
56 fk_luoghi INT,
57 fk_tipologie INT,
58 fk_societa INT,
59 descrizione VARCHAR(255),
60 giorno DATE
61);
62
63CREATE TABLE artisti(
64 id INT PRIMARY KEY AUTO_INCREMENT,
65 nome VARCHAR(255),
66 cognome VARCHAR(255),
67 datanascita DATE
68);
69
70CREATE TABLE partecipa(
71 id INT PRIMARY KEY AUTO_INCREMENT,
72 fk_artisti INT,
73 fk_eventi INT
74);
75
76--INSERT
77
78INSERT INTO luoghi
79VALUES (1,'Multisala Eur','Reggio Emilia','Italia');
80
81INSERT INTO luoghi
82VALUES (2,'Sonic Park','Bologna','Italia');
83
84INSERT INTO luoghi
85VALUES (3,'Lincoln Center','New York','USA');
86
87INSERT INTO societa
88VALUES(1,'AAA');
89
90INSERT INTO societa
91VALUES(2,'BBB');
92
93INSERT INTO societa
94VALUES(2,'CCC');
95
96INSERT INTO artisti
97VALUES(1,'Roberto','Benigni','1968-5-2')
98
99INSERT INTO artisti
100VALUES(2,'Robert','Plant','1958-9-7');
101
102INSERT INTO artisti
103VALUES(3,'Brian','May','1960-2-15');
104
105INSERT INTO eventi
106VALUES(1,1,0,1,'swag dope','2018-5-12');
107
108INSERT INTO eventi
109VALUES(2,2,0,2,'panon dope','2015-1-12');
110
111INSERT INTO eventi
112VALUES(3,3,0,3,'marra swag','2017-24-11');
113
114INSERT INTO eventi
115VALUES(4,2,0,1,'BELLA dope','2018-04-12');