Prøv dette. At flytte underforespørgslen til JOIN ser ud til at løse problemet. Jeg tror, problemet har at gøre med at have underforespørgslen i WHERE-sætningen. Jeg tror, at i WHERE-klausulen bliver underforespørgslen og RAND-funktionen udført for hver post. Det er sandsynligvis derfor, resultaterne er forskellige.
SELECT a.AlbumID,
Videos_Demo.VideoID,
VideosInAlbums_Demo.AlbumID
FROM VideosInAlbums_Demo
LEFT JOIN Videos_Demo
ON Videos_Demo.VideoID = VideosInAlbums_Demo.VideoID
JOIN
(
SELECT AlbumID
FROM VideosInAlbums_Demo
WHERE VideoID = '1'
ORDER BY RAND()
LIMIT 1
) AS a ON VideosInAlbums_Demo.AlbumID = a.AlbumID