• Non ci sono risultati.

idl litri data codcas litri_formaggio

N/A
N/A
Protected

Academic year: 2021

Condividi "idl litri data codcas litri_formaggio "

Copied!
3
0
0

Testo completo

(1)

Proposta d’esame MIUR 15 aprile 2015

Tabella caseificio Tabella latte

CREATE TABLE IF NOT EXISTS `caseificio` (

`codcaseificio` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(30) NOT NULL,

`provincia` varchar(30) NOT NULL, PRIMARY KEY (`codcaseificio`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

INSERT INTO `caseificio` (`codcaseificio`, `nome`, `provincia`) VALUES (1, 'formaggio', 'novara'),

(2, 'latteria', 'novara'), (3, 'parmigiano', 'parma'), (4, 'grana', 'parma');

CREATE TABLE IF NOT EXISTS `latte` ( `idl` int(11) NOT NULL AUTO_INCREMENT, `litri` int(11) NOT NULL,

`data` date NOT NULL, `codcas` int(11) NOT NULL,

`litri_formaggio` int(11) NOT NULL, PRIMARY KEY (`idl`),

KEY `codcas` (`codcas`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ; ALTER TABLE `latte`

ADD CONSTRAINT `latte_ibfk_1` FOREIGN KEY (`codcas`) REFERENCES `caseificio`

(`codcaseificio`);

INSERT INTO `latte` (`idl`, `litri`, `data`, `codcas`, `litri_formaggio`) VALUES (1, 10, '2015-04-16', 1, 8),

(2, 20, '2015-03-23', 1, 15), (3, 5, '2015-04-25', 2, 3), (4, 18, '2015-04-15', 3, 12), (5, 4, '2014-04-20', 3, 4), (6, 50, '2015-03-09', 3, 45), (7, 25, '2015-04-08', 3, 20);

idl litri data codcas litri_formaggio

1 10 2015-04-16 1 8

2 20 2015-03-23 1 15

3 5 2015-04-25 2 3

4 18 2015-04-15 3 12

5 4 2014-04-20 3 4

6 50 2015-03-09 3 45

7 25 2015-04-08 3 20

9 63 2015-04-14 1 60

codcaseificio nome provincia

1 formaggio novara

2 latteria novara

3 parmigiano parma

4 grana parma

(2)

a) Visualizzare il numero di litri prodotto da ciascun caseificio tra due date SELECT nome, sum(litri) AS totale

FROM latte,caseificio

WHERE codcas = codcaseificio and data between '2014-04-01' and '2015-04-30' GROUP BY nome

nome totale formaggio 93 latteria 5 parmigiano 97

b) Visualizzare la media del latte lavorato giornalmente nell’anno corrente dai caseifici provincia per provincia

SELECT provincia, avg(litri) AS media FROM latte, caseificio

WHERE codcas = codcaseificio and year(data) = year(curdate()) GROUP BY provincia

provincia media novara 24.5000 parma 31.0000

c) Visualizzare i dati del caseificio che ha usato il maggior numero di litri di latte in un dato anno

SELECT caseificio.* FROM caseificio where codcaseificio IN (

SELECT codcaseificio FROM latte,caseificio

WHERE codcas = codcaseificio and year(data) = 2015 GROUP by codcaseificio

HAVING sum(litri)=

(SELECT max(numlitri) FROM

( SELECT nome, sum(litri) as numlitri FROM latte, caseificio WHERE codcas = codcaseificio and year( data ) = 2015

GROUP by nome ) AS temp )

)

codcaseificio nome provincia 1 formaggio novara 3 parmigiano parma

d) Visualizzare l’elenco dei caseifici che, in un certo periodo dell’anno tra due date hanno ricevuto latte per meno di 3 giorni

SELECT nome, count(*) AS numero FROM latte, caseificio

WHERE codcas = codcaseificio and data between '2014-04-01' and '2015-04-30' GROUP BY nome

having numero<3

nome numero

latteria 1

(3)

N.B.: Per ottenere la stagionatura serve fare la differenza in mesi tra due date ad esempio:

SELECT period_diff(date_format(curdate(),"%Y%m"),date_format(data,"%Y%m")) as mesi from latte

Quesito 2

idforma data codcas 1 2015-04-16 1 2 2015-04-23 1 3 2015-04-25 2 4 2015-04-15 2 5 2014-04-20 1

Tabella forme Tabella vendute

CREATE TABLE IF NOT EXISTS `forme` ( `idforma` int(11) NOT NULL,

`data` date NOT NULL, `codcas` int(10) NOT NULL,

PRIMARY KEY (`idforma`,`codcas`), KEY `codcas` (`codcas`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE `forme`

ADD CONSTRAINT `forme_ibfk_1` FOREIGN KEY (`codcas`) REFERENCES `caseificio`

(`codcaseificio`);

CREATE TABLE IF NOT EXISTS `vendute` ( `idforma` int(11) NOT NULL,

`data` date NOT NULL, `codcas` int(10) NOT NULL, `scelta` char(1) NOT NULL, `cliente` varchar(30) NOT NULL, PRIMARY KEY (`idforma`,`codcas`), KEY `codcas` (`codcas`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE `vendute`

ADD CONSTRAINT `vendute_ibfk_1` FOREIGN KEY (`codcas`) REFERENCES `caseificio`

(`codcaseificio`);

Quesito 2

SELECT anno, formevendute, forme, formevendute/forme*100 as percentuale FROM

(SELECT year(data) as annov,count(*) as formevendute FROM vendute where codcas = 1 and scelta = 2 GROUP BY annov) tmpv,

(SELECT year(data) as anno,count(*) as forme FROM forme where codcas = 1 GROUP BY anno) tmp

WHERE annov=anno GROUP by anno

anno formevendute forme percentuale

2014 1 1 100.0000

2015 1 2 50.0000

idforma data codcas scelta cliente

1 2015-04-16 1 2 tizio

3 2015-04-25 2 2 tizio

4 2015-04-15 2 1 tizio

5 2014-04-20 1 2 tizio

Riferimenti

Documenti correlati

Quanto alla produzione di latte, la stima di Ismea parla, nell’ultimo anno, di un quantitativo superiore ai 300 milioni di litri (pari al 2,7% del totale del latte prodotto

FEROX CONVERTIRUGGINE Litri 20 a) tossicità acuta.. Sulla base dei dati disponibili, i criteri di classificazione non sono soddisfatti.. b)

COMBI (valore 2): mediante il tasto «Mode» si possono selezionare esclusivamente le modalità GREEN, VOYAGE (se attivate mediante P3) e PROGRAM (se attivata mediante P4);

Con queste impostazioni, il circolatore è adeguato, ad esempio, per impianti a bassa temperatura (es. per impianti a pavimen- to), in quanto controllando il ∆T tra mandata e

Sulla base dei dati disponibili, i criteri di classificazione non sono soddisfatti.. b)

sfoglia il volantino online su www.coopmaster.it promozione valida per tutti gli ipercoop della calabria. OLIO EXTRA VERGINE

Il mancato rispetto delle istruzioni di sicurezza può causare gravi lesioni personali o danni alle cose.. IMPORTANTI MISURE

POMPA DI CALORE HEAT PUMP 1 VASO DI ESPANSIONE SANITARIO ELBI