, .
, SeenMovies NotInterestedFlags , , , UserId. MovieId. , .
, , , , , , , SeenMovies NotInterestedFlags .
SELECT TOP 1
Movies.*
FROM
Users
CROSS JOIN
Movies
WHERE
NOT EXISTS
(
SELECT NULL
FROM SeenMovies
WHERE
SeenMovies.UserId = Users.Id
AND
SeenMovies.MovieId = Movies.Id
)
AND
NOT EXISTS
(
SELECT NULL
FROM NotInterestedFlags
WHERE
NotInterestedFlags.UserId = Users.Id
AND
NotInterestedFlags.MovieId = Movies.Id
)
AND
Users.Id = 89283
- , , UNION MovieId SeenMovies NotInterestedFlags UserId, EXCEPT , .
, , , , , - , TOP 1.
, ( ), SeenMovies NotInterestedFlags.
, , , , 10 , .
, , 10 , , , .