У меня есть 2 таблицы .. [Пользователи] и [Вопросы]
Таблица пользователей имеет ..
UserId Name
-- ----
1 Bob
2 Ang
3 Bill
И Таблица вопросов имеет ..
QuestId Description CategoryId
------- ---------- --------
0 Question0 1
1 Question1 1
2 Question2 1
3 Question3 1
4 Question4 1
5 Question5 1
6 Question6 1
7 Question7 1
8 Question9 1
9 Question9 1
10 Question10 2
Теперь я хочу выбрать 5 случайных вопросов для каждого [пользователя].
Я пробовал этот запрос ..
SELECT [User].UserId,Name, QuestId, Description from Users OUTER APPLY
(SELECT TOP 5 QuestId, Description FROM Question WHERE CategoryId=1 ORDER BY NEWID(),
Question.Id) RandomQuestions
И в результате он выглядит примерно так. .
UserId Name QuestId Description
------ ---- ------- -----------
1 Bob 2 Question2
1 Bob 3 Question3
1 Bob 6 Question6
1 Bob 8 Question8
1 Bob 9 Question9
2 Ang 2 Question2
2 Ang 3 Question3
2 Ang 6 Question6
2 Ang 8 Question8
2 Ang 9 Question9
3 Bill 2 Question2
3 Bill 3 Question3
3 Bill 6 Question6
3 Bill 8 Question8
3 Bill 9 Question9
Проблема в том, что QuestId генерируется случайным образом, но, если вы заметите, у каждого пользователя есть одинаковые сгенерированные случайные вопросы. Я хочу, чтобы у каждого пользователя был различный набор случайных вопросов.