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)
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
)
)
Marzulliano.