Pessoal sou iniciante em mysql e to meio perdido, preciso fazer uma consulta entre duas tabelas (Perfil e Questoes) vou tentar explicar o problema:
Sobre o Questionario:
Dado de parametros a Disciplina, tenho o perfil de questões para o questionário( DISCIPLINA, ANO e TIPO e suas respectivas quantidades de questões normais e questões extra), a SQL então deve retornar as questões que atendam as exigencias de QUANTIDADE (NORMAL E EXTRA) CONFORME Os TIPOS cadastrados em PERFIL.
Informação extra: as questões devem ser unicas, podem ser sorteadas de forma aleatória desde que não se repitam.
Minha tentativa foi com esse codigo (sem sucesso):
Segue o Código:
SELECT
COALESCE(CatParent.id, Questoes.id) id,
COALESCE(CatParent.enunciado, Questoes.enunciado) enunciado,
perfil.tipo_id
FROM perfil
JOIN Questoes ON perfil.tipo_id = Questoes.tipo_id and
Questoes.ano_id = perfil.ano_id
LEFT JOIN Questoes AS CatParent ON Questoes.tipo_id = CatParent.id
ORDER BY RAND( )
group by id, enunciado, tipo_id
Porém ele não limita a quantidade de questões por tipo, não sei se seria possivel usar a clausula LIMIT definindo dinamicamente tais quantidades, ou se há outra forma de separar a consulta em duas partes uma trazendo a quantidade de questões normais por tipo, outra as questões extra.
Podem me dar um help?


