Pagina 1 di 1

MySQL Correzione query?

Inviato: venerdì 13 giugno 2014, 16:18
da luciano9429
Ho questo schema:

Codice: Seleziona tutto

IMPIEGATI (CodFisc., Nome, Recapito, TitoloStudio) 
CENTRO (CodC, Indiriz., Tel.) 
DATA (DataInizio) 
LAVORA_IN (CodC, CodFisc., DataInizio, DataFine, Carica) 
SETTORE (CodC, CodS) 
FILM (Regista, Titolo, CostoNol., Anno) 
ATTORI (Regista, Titolo, Attore) 
COLLOCAZIONE(CodC, CodS, Regista, Titolo, #Copie, Posizione) 
REMAKE_DI (RegistaRemake, TitoloRemake, RegistaFilmOriginale, 
TitoloFilmOriginale) 
DISTRIBUTORE (CodD, Nome, Indiriz.) 
DISTRIBUITO_DA (Regista, Titolo, CodD, Costo) 
devo fare queste operazioni:

Codice: Seleziona tutto

Operazione 10: Seleziona gli impiegati che hanno lavorato in data 1 gennaio.
Operazione 11: Determinare codice fiscale degli impiegati del centro in “Via Cascino”
Operazione 12: Trova il centro con codice 100 con settore 3.
Operazione 13: Determina i nomi dei registi che hanno girato solo remake.
Operazione 14: Determina gli attori che hanno lavorato solo con due registi.
Operazione 15: Determina i nomi degli attori che hanno lavorato solo e soltanto con lo stesso regista.
Potete svilupparle cosi le correggo? Sono quelle che mi vengono più difficili, grazie.

Re: MySQL Correzione query?

Inviato: venerdì 13 giugno 2014, 17:04
da giovanni8
Io uso SQL Server ma direi che le sintassi sono simili.

Codice: Seleziona tutto

Operazione 10:
SELECT I.*
FROM IMPIEGATI I,LAVORA_IN L
WHERE I.CodFisc=L.CodFisc AND '01-01-2014' BETWEEN L.DataInizio AND L.DataFine
-- Ho supposto che la data 1 gennaio fosse riferita a quest'anno

Operazione 11:
SELECT L.CodFisc
FROM LAVORA_IN L,CENTRO C
WHERE L.CodC=C.CodC AND C.Indirizzo='Via Cascino'

Operazione 12:
SELECT C.*
FROM CENTRO C,SETTORE S
WHERE C.CodC=S.CodC AND C.CodC=100 AND S.CodS=3

Operazione 13:
SELECT  DISTINCT RegistaRemake
FROM REGISTA_REMAKE
WHERE RegistaRemake NOT IN (SELECT Regista FROM FILM)

Operazione 14:
SELECT Attore
FROM ATTORI 
GROUP BY Attore
HAVING COUNT(DISTINCT Regista)=2

Operazione 15:
SELECT Attore
FROM ATTORI 
GROUP BY Attore
HAVING COUNT(DISTINCT Regista)=1
Ecco a te! Comunque nello schema relazionale ci posso parecchi errori di progettazione e ridondanze...

Re: MySQL Correzione query?

Inviato: venerdì 13 giugno 2014, 19:24
da jackynet92
Ciao, per i listati potresti usare i tag code? Grazie.

Re: MySQL Correzione query?

Inviato: sabato 14 giugno 2014, 17:04
da luciano9429
giovanni8 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4598409#p4598409][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Io uso SQL Server ma direi che le sintassi sono simili.

Codice: Seleziona tutto

Operazione 10:
SELECT I.*
FROM IMPIEGATI I,LAVORA_IN L
WHERE I.CodFisc=L.CodFisc AND '01-01-2014' BETWEEN L.DataInizio AND L.DataFine
-- Ho supposto che la data 1 gennaio fosse riferita a quest'anno

Operazione 11:
SELECT L.CodFisc
FROM LAVORA_IN L,CENTRO C
WHERE L.CodC=C.CodC AND C.Indirizzo='Via Cascino'

Operazione 12:
SELECT C.*
FROM CENTRO C,SETTORE S
WHERE C.CodC=S.CodC AND C.CodC=100 AND S.CodS=3

Operazione 13:
SELECT  DISTINCT RegistaRemake
FROM REGISTA_REMAKE
WHERE RegistaRemake NOT IN (SELECT Regista FROM FILM)

Operazione 14:
SELECT Attore
FROM ATTORI 
GROUP BY Attore
HAVING COUNT(DISTINCT Regista)=2

Operazione 15:
SELECT Attore
FROM ATTORI 
GROUP BY Attore
HAVING COUNT(DISTINCT Regista)=1
Ecco a te! Comunque nello schema relazionale ci posso parecchi errori di progettazione e ridondanze...
Grazie puoi indicarmi gli errori nello schema relazionale?

Re: MySQL Correzione query?

Inviato: sabato 14 giugno 2014, 17:10
da jackynet92
Per questa volta te li sistemo io, mi raccomanda in futuro.

Re: MySQL Correzione query?

Inviato: lunedì 16 giugno 2014, 16:54
da luciano9429
Scusa non avevo capito che ti riferivi anche a me. Potete correggermi il modello?

Re: MySQL Correzione query?

Inviato: lunedì 16 giugno 2014, 18:13
da jackynet92
Fatto, anche per te, basta cliccare su modifica e seguire la procedura di sopra.