buongiorno,
sn nuova qui![]()
mi sn iscritta per chiedere a voi grandi esperti un aiuto cn SQL poichè ho un esame settimana prox e la prof non mi vuole ricevereeee(maldetta!!!) ..![]()
allora le relazioni sn le seguenti:
GIORNALISTA( CF, nome, Città)
GIORNALE ( CODICE, tipologia,direttore)
SERVIZIO (GIORNALISTA, DATA, argomento, compenso, spese giornale)
gli attributi scritte in MAIUSC sn le chiavi
la query sulle quali ho i dubbi sn le seguenti:
i giornalisti che hanno effettuato solo servizi di argomento "viaggi"
ho scritto:
SELECT g1.*
FROM giornalista g1
WHERE not exist ( SELECT *
FROM servizio s
WHERE s.argomento= "viaggi" AND
s.giornalista NOT IN ( SELECT g2.codice fiscale
FROM giornalista g2
WHERE g1.codicefiscale=
g2.codicefiscale)
))
e la seconda dice:
i giornalisti che hanno effettuato ESATTAMENTE due servizi per OGNI giornale
l'ho fatta:
SELECT g.*
FROM giornalista g
WHERE not exist ( SELECT *
FROM giornale gg
WHERE gg.codice NOT IN ( SELECT s.giornale
FROM servizio s
WHERE s.giornalista= g.codicefiscale
GROUP BY s.giornale
HAVING count(*)=2
))
sn corrette????perchè io nn riesco a rendermene conto.
![]()