Добрый день!
Помогите пожалуйста с запросом
INSERT INTO TempВопрос ( IdВопрос, НомерВопроса, Вопрос, IdПравОтвет, НомерПравильныйОтвет, idСтудент )
SELECT Вопросы.IdВопрос, Вопросы.НомерВопроса, Вопросы.Вопрос, Вопросы.IdПравОтвет,Вопросы.НомерПравильныйОтвет,Вопросы.idСтудент
FROM
(SELECT TOP 4 *,Вопросы.IdВопрос, Вопросы.НомерВопроса, Вопросы.Вопрос, Вопросы.IdПравОтвет, Вопросы.НомерПравильныйОтвет, 116 as idСтудент FROM Вопросы WHERE Вопросы.id_RD = 1
ORDER BY rnd(INT(NOW*Вопросы.IdВопрос)-NOW*Вопросы.IdВопрос)
UNION ALL
SELECT TOP 3 *,Вопросы.IdВопрос, Вопросы.НомерВопроса, Вопросы.Вопрос, Вопросы.IdПравОтвет, Вопросы.НомерПравильныйОтвет, 116 as idСтудент FROM Вопросы WHERE Вопросы.id_RD = 2
ORDER BY rnd(INT(NOW*Вопросы.IdВопрос)-NOW*Вопросы.IdВопрос)
) AS Вопросы;
Выдает ошибку
В выражении ORDER BY rnd(INT(NOW*Вопросы.IdВопрос)-NOW*Вопросы.IdВопрос) включены поля, не отобранные запросом.Выражение ORDER BY может содержать только поля, затребованные первым запросом.
первый select отрабатывает хорошо с rnd, а на втором выдает ошибку.
http://www.sql.ru/forum/1182285/insert-into-select-union-all