Pagina 1 di 1

ESERCIZIO BD

Inviato: 31/10/2015, 11:49
da InformateciBot
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.