Erro 00933

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
bsf
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Qua, 14 Nov 2012 10:00 am

Olá pessoal,

alguém poderia me ajudar com o erro .
A query abaixo.

SELECT * FROM (select 'Iniciativas' as Compromisso, 'Jan' as mês_Ref,
a.codigo as Codigo, a.alvo_ano as Alvo_ano, a.evo_jan as Evolucao_mês,
a.status_jan as Status, a.preenchimento
from portpa.tbl_pa_iniciativas_2013 a
where a.alvo_ano not in ('Budget','Capilaridade','Relatorio IW', 'Painel de Acompanhamento')and
a.evo_jan is not null and a.status_jan in ('I') and
a.preenchimento = 'Sim' union select 'Iniciativas' as
Compromisso, 'Fev' as mês_Ref, a.codigo as Codigo, a.alvo_ano as Alvo_ano, a.evo_fev as Evolucao_mês, a.status_fev as Status, a.preenchimento from portpa.tbl_pa_iniciativas_2013 a where a.alvo_ano not in ('Budget','Capilaridade','Relatorio IW', 'Painel de Acompanhamento') and a.evo_fev is not null and a.status_fev in ('I') and a.preenchimento = 'Sim' union select 'Iniciativas' as Compromisso, 'Mar' as mês_Ref, a.codigo as Codigo, a.alvo_ano as Alvo_ano, a.evo_mar as Evolucao_mês, a.status_mar as Status, a.preenchimento from portpa.tbl_pa_iniciativas_2013 a where a.alvo_ano not in ('Budget','Capilaridade','Relatorio IW', 'Painel de Acompanhamento') and a.evo_mar is not null and a.status_mar in ('I') and a.preenchimento = 'Sim' union select 'Iniciativas' as Compromisso, 'Abr' as mês_Ref, a.codigo as Codigo, a.alvo_ano as Alvo_ano, a.evo_abr as Evolucao_mês, a.status_abr as Status, a.preenchimento from portpa.tbl_pa_Iniciativas_2013 a where a.alvo_ano not in ('Budget','Capilaridade','Relatorio IW', 'Painel de Acompanhamento') and a.evo_abr is not null and a.status_abr in ('I') and a.preenchimento = 'Sim' union select 'Iniciativas' as Compromisso, 'Mai' as mês_Ref, a.codigo as Codigo, a.alvo_ano as Alvo_ano, a.evo_mai as Evolucao_mês, a.status_mai as Status, a.preenchimento from portpa.tbl_pa_iniciativas_2013 a where a.alvo_ano not in ('Budget','Capilaridade','Relatorio IW', 'Painel de Acompanhamento') and a.evo_mai is not null and a.status_mai in ('I') and a.preenchimento = 'Sim' union select 'Iniciativas' as Compromisso, 'Jun' as mês_Ref, a.codigo as Codigo, a.alvo_ano as Alvo_ano, a.evo_jun as Evolucao_mês, a.status_jun as Status, a.preenchimento from portpa.tbl_pa_iniciativas_2013 a where a.alvo_ano not in ('Budget','Capilaridade','Relatorio IW', 'Painel de Acompanhamento') and a.evo_jun is not null and a.status_jun in ('I') and a.preenchimento = 'Sim'))


O erro q retorna é:

ORA00933: SQL command not properly ended


Já fiz varias tentativas de mudança mas o erro continua, quem puder dar alguma sugestão agradeço.
leandromiranda87
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 43
Registrado em: Ter, 20 Mar 2012 11:37 am
Localização: Campinas
Leandro L. Miranda

parceiro...

aparentemente tem um parêntese de fechamento a mais....

o ultimo deles...
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Olá BSF,

Uma observação.

Cada um dos selects dentro da subquerie pode apresentar dados repetidos?

Porque se isso não ocorrer, eu aconselharia a substituir o UNION por UNION ALL.

No UNION ALL, o oracle entende que não existem registros repetidos, agilizando a execução da queire e sobrecarregando menos o banco.

Abraços,

Sergio Coutinho
bsf
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Qua, 14 Nov 2012 10:00 am

Deu certo, obrigado pela ajuda pessoal.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes