Предположим, у меня есть эта схема базы данных:SQL: Как утверждать, что ни один элемент набора не может присутствовать в другом наборе?
Я наткнуться на этот вопрос более чем на один час: «Выбрать все альбомы которых нет дорожки не были использованы в списке воспроизведения».
Я хочу сделать что-то вроде этого:
SELECT parentalbum.albumid FROM album AS parentalbum
INNER JOIN track
ON track.albumid = parentalbum.albumid
INNER JOIN playlistitem
ON track.trackid = playlistitem.trackid // Join the 3 tables
WHERE NOT ((SELECT track.trackid FROM album
INNER JOIN track
ON album.albumid = track.albumid
WHERE track.albumid = parentalbum.albumid) // Select songs from one album
IN playlistitem.trackid ) // Check if at least one element of the album is in a playlist? (faulty)
Мой запрос, вероятно, совершенно неправильно, поэтому я был бы признателен за любую помощь.
EDIT: Я забыл упомянуть, меня попросят решить это, используя коррелированные подзапросы. Спасибо!
Какая СУБД вы используете? –