>il problema è che è sempre true!! anche quando IDAttivita non
>dovrebbe essere presenti in AttivitaCorsi
Rispondere alla cieca senza un esempio completo che riproduce il problema è sempre difficile (spesso impossibile).
A prima vista è sbagliata la SELECT utilizzata nella EXISTS. Modificala come:
...
EXISTS (SELECT * FROM...
Nel caso la query sia ancora errata posta i comandi di CREATE TABLE di tutte le tabelle coinvolte, alcune righe di prova (INSERT INTO) ed il resultset atteso.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/