0
想象一下,它是一個音樂網站,我有1000首歌曲。用戶可以「喜歡」歌曲,它使用memberID和songID存儲在查找表中。SQL顯示記錄首先匹配查找表然後所有其他記錄
然後我想要顯示所有歌曲列表頂部的特定用戶的收藏夾。
SELECT s.*, s.songID theSongID, f.*
FROM su_songs AS s
left JOIN su_member_favourites_lookup AS f
ON f.songID = s.songID
ORDER by f.songID IS NULL, s.songTitle ASC
......工作在頂部顯示所有最愛。但我只是想顯示已登錄用戶的收藏夾中,然後將所有其他歌曲的下方
SELECT s.*, s.songID theSongID, f.*
FROM su_songs AS s
left JOIN su_member_favourites_lookup AS f
ON f.songID = s.songID
WHERE memberID = " . $memberID . "
ORDER by f.songID IS NULL, s.songTitle ASC
...如果我添加WHERE子句給用戶相匹配,它只顯示用戶的收藏和遺漏了其他地區這些歌。
http://stackoverflow.com/questions/8388242/left-right-join-not-returning-empty-row – BlitZ
@CORRUPT。答案可能是一樣的,但問題是非常不同的。 – Steve