2
respostas

não ensino

(select sysdate - interval '6' month from dual)) group by c.nome, a.nome;, copie a resposta e colei o comando para rodar e não deu certo, não me retornou a resposta

2 respostas

Oi Davi, tudo bem ?

Parece estar faltando alguma coisa nesse sql para ele ser executado.

Olá Davi. Assim como o Matheus falou, também acho que falta algo na query que você demostrou.

no caso "

(select sysdate - interval '6' month from dual)

" é uma sub-query para trazer o conjunto de resultados que contém as datas dos 6 últimos meses(month) a partir do dia atual (sysdate = data atual configurada no sistema)

Se não me engano está é a query completa disponibilizada pelo curso

select 
    a.nome, 
    c.nome,
    avg(n.nota) as media, 
    avg(n.nota) - (select avg(n.nota) from nota n) as diferenca
 from nota n
    join resposta r on r.id = n.resposta_id
    join exercicio e on e.id = r.exercicio_id
    join secao s on s.id = e.secao_id
    join curso c on c.id = s.curso_id
    join aluno a on a.id = r.aluno_id
where a.id in (select aluno_id from matricula where data > (select sysdate - interval '6' month from dual))

Se sua dúvida é justamente o instrutor do curso não ter ensinado sobre as opções da tabela "dual" talvez seja para não se extender demais o curso. Porém se você pesquisar na internet provavelmente irá achar muitos conteúdos para lhe auxiliar.

Espero ter ajudado. Abraços.