grazie per la precedente risposta adesso mi spiego meglio....
eseguo questa query per settare a occupato (stato1 =0 se occupato ,1 se è libero) il posto con idposto =1 per la proiezione numero 14 (che si svolge nella sala B)
UPDATE posto
SET stato1=0
WHERE IDposto=1 and sala=(
select IDsala
from sala s, proiezione p, ubicazione u
where s.IDsala = u.sala and u.proiezione =p.IDproiezione and proiezione=14);
adesso quando vado a svolgere quest altra query per vedere i posti della proiezione 18 che si svolge anche essa nella sala B mi da anche qua il posto di id 1 occupato (cioè uguale a 0)
ma cosi non dovrebbe essere ma non riesco a capire come risolvere questo mio errore di progettazione
select *
from posto
where sala= (
select IDsala
from sala s, proiezione p, ubicazione u
where s.IDsala = u.sala and u.proiezione =p.IDproiezione and proiezione=18);

Rispondi quotando