Ho un DB MySQL per un sito di concorsi fotografici. Per ogni concorso i partecipanti inviano una foto, poi loro stessi voteranno le foto inviate dagli altri.
Mi serve interrogare il DB in modo da ottenere le foto inviate dagli utenti che non hanno ancora votato. Due sono le tabelle coinvolte: FOTO e VOTI. In foto ho tra gli altri campi l'id dell'autore e del contest a cui partecipa (sono chiave esterne per altre tabelle ovviamente), mentre in VOTI ho l'id dell'utente votante e del concorso in cui ha votato.
La cosa più immediata che mi è venuta in mente è una cosa del genere:
(SELECT * FROM foto WHERE contest = x) - (SELECT foto.* FROM foto JOIN voti ON foto.autore = voti.utente WHERE contest = x)
Cioè, prendere tutte le foto del concorso e sottrarci le foto foto di chi ha votato. In SQL però non riesco a eseguire la sottrazione, non so neanche se sia possibile.
Quindi chiedo. E' possibile in SQL eseguire sottrazioni tra tabelle (nella teoria relazione sono contemplate)? Oppure c'è un modo migliore di ottenere ciò che voglio???
Grazie.