ESERCIZIO BD

Rispondi
Avatar utente
InformateciBot
Messaggi: 314
Iscritto il: 30/09/2018, 16:33

Stonis
Ciao a tutti, sto cercando di fare una query ma non ci riesco, le mie soluzioni risultano tutte sbagliate e non capisco perchè.
La query è la seguente:

"Nome, Codice degli impiegati che lavorano a tutti i progetti del dipartimento 10"

ovviamente stiamo parlando dell'esercizio sull'azienda e vorrei fare l'esercizio con i quantificatori


Ho trovato due soluzioni corrette:

la prima è con il group by:

Codice: Seleziona tutto

select i.NomeCognome, i.Codice
from Impiegati i, Progetti pr, Partecipazioni p
where i.Codice=p.Impiegato and p.Progetto=pr.NumeroP and pr.GestitoDa=10
group by i.NomeCognome, i.Codice
having count(*)=(
select count(*)
from Progetti pr2
where pr.GestitoDa=10)
la seconda è con solo i quantificatori:

Codice: Seleziona tutto

Select i.NomeCognome, i.Codice
From Impiegati i
Where not exists
(
Select *
From Progetti pr1
Where pr1.GestitoDa=10 AND
not exists
(
Select *
From Partecipazioni p
Where p.Impiegato=i.Codice AND p.Progetto=pr1.NumeroP
)
) 
MindFlyer
Marzulliano.
Rispondi

Torna a “[BD] Basi di dati”