Caro amigos, preciso de ajuda sobre uma query que busca questões de uma prova aleatóriamente de um banco de dados de questões. As questões têm suas propriedades que devem ter seus filtros ex. matéria e dificuldade. Não consigo fazer funcionar a query abaixo (pois dá erro de unable to parse query text). Ao executar dá erro de definição de parâmetros como @materia e @Dificuldade. Se a query for sem o filtro de matérias, ele funciona. Veja abaixo o que tenho:
SELECT * FROM
(SELECT TOP (@NumeroDePerguntasPorDificuldade) FROM
(SELECT * FROM Perguntas
WHERE Materia=@materia)
WHERE Dificuldade=1)
ORDER BY NEWID()
)
UNION
SELECT * FROM
(SELECT TOP (@NumeroDePerguntasPorDificuldade) FROM
(SELECT * FROM Perguntas
WHERE Materia=@materia)
WHERE Dificuldade=2)
ORDER BY NEWID()
)
..... um pra cada das 5 dificuldades. Assim no gerador de provas eu escolho uma matéria e quantas perguntas eu quero de cada nível de dificuldade.
Pergunta
aldomm
Caro amigos, preciso de ajuda sobre uma query que busca questões de uma prova aleatóriamente de um banco de dados de questões. As questões têm suas propriedades que devem ter seus filtros ex. matéria e dificuldade. Não consigo fazer funcionar a query abaixo (pois dá erro de unable to parse query text). Ao executar dá erro de definição de parâmetros como @materia e @Dificuldade. Se a query for sem o filtro de matérias, ele funciona. Veja abaixo o que tenho:
SELECT * FROM
(SELECT TOP (@NumeroDePerguntasPorDificuldade) FROM
(SELECT * FROM Perguntas
WHERE Materia=@materia)
WHERE Dificuldade=1)
ORDER BY NEWID()
)
UNION
SELECT * FROM
(SELECT TOP (@NumeroDePerguntasPorDificuldade) FROM
(SELECT * FROM Perguntas
WHERE Materia=@materia)
WHERE Dificuldade=2)
ORDER BY NEWID()
)
..... um pra cada das 5 dificuldades. Assim no gerador de provas eu escolho uma matéria e quantas perguntas eu quero de cada nível de dificuldade.
Alguém pode ajudar???
Obrigado
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.