假设我有这个数据库方案: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)
我的查询可能是完全错误的,所以我希望得到任何帮助。
编辑:我忘了提及,我被要求解决这个使用相关的子查询。谢谢!
您正在使用哪些DBMS? –