1
resposta

Ola eu tenho uma duvida sobre um select feito em aula

Ola eu fiz um select exatamente igual o do professor, porem quando eu fui fechar o select todo e colocar um apelido ele deu o seguinte erro 'ORA-00907: parêntese direito não encontrado

  1. 00000 - "missing right parenthesis" *Cause:*Action: Erro na linha: 19 Coluna: 1'
--> ESSE PARENTESES (select 
tp.sabor,
sum(inf.quantidade) QUANTIDADE, 
extract(year from nf.data_venda) ANO,
(select total_ano.quantidade_geral
from
(select
extract(year from nf.data_venda) ANO,
sum(inf.quantidade) QUANTIDADE_GERAL    
from notas_fiscais NF join itens_notas_fiscais INF
on nf.numero = inf.numero
GROUP BY extract(year from nf.data_venda))TOTAL_ANO) QUANTIDADE_GERAL
from tabela_de_produtos TP 
join itens_notas_fiscais INF 
on tp.codigo_do_produto = inf.codigo_do_produto
join notas_fiscais NF
on inf.numero = nf.numero
group by tp.sabor, nf.data_venda
order by sum(inf.quantidade)desc)  <-- ESSE PARENTESE


obs: Mesmo eu fechando os 2 parenteses da o erro acima.
1 resposta

Olá, faltou algumas partes do comando como o WHERE e o INNER JOIN

select tp.sabor, sum(inf.quantidade) QUANTIDADE, extract(year from nf.data_venda) ANO,
(
select total_ano.quantidade_geral from
(
select extract(year from nf.data_venda) ANO, sum(inf.quantidade) QUANTIDADE_GERAL    
from notas_fiscais NF 
**inner** join itens_notas_fiscais INF
on nf.numero = inf.numero
**WHERE EXTRACT(YEAR FROM NF.DATA_VENDA) = 2016**
GROUP BY extract(year from nf.data_venda))TOTAL_ANO) QUANTIDADE_GERAL
from tabela_de_produtos TP 
**inner** join itens_notas_fiscais INF 
on tp.codigo_do_produto = inf.codigo_do_produto
**inner** join notas_fiscais NF
on inf.numero = nf.numero
**WHERE EXTRACT(YEAR FROM NF.DATA_VENDA) = 2016**
group by tp.sabor, extract(year from nf.data_venda)
order by sum(inf.quantidade) desc