ORA-00907: right parenthesis not found

3

Hello, I have just been working with oracle, and I'm having this problem in the query, it returns the error: ORA-00907: right parenthesis not found, it follows below:

("""select 
                ordem.id,ordem.data_prog,ordem.rms, ordem.pkpk, medida.ganho,ponto.descricao as ponto, unidade.id as id_unid, unidade.id_segmento as segmento,equipamento.id as id_equipamento,codigo.id, codigo.descricao
                from intranet.vb_item_ordem_servico ordem

                join intranet.vb_ponto_medida medida on medida.id = ordem.id_ponto_medida
                join intranet.vb_ponto ponto on ponto.id = medida.id_vb_ponto
                join intranet.gm_arvore arvore on arvore.id = ponto.id_arvore
                join intranet.cd_unidade unidade on unidade.id = arvore.id_unidade
                join intranet.gm_equipamento_arvore equipamento on equipamento.id = arvore.id
                join intranet.ce_tipo_equipamento codigo on codigo.id = equipamento.id_tipo_equipamento

                where (ordem.data_prog between date_sub(to_date('{}', 'DD/MM/YYYY'), INTERVAL {} MONTH) and to_date('{}', 'DD/MM/YYYY')) AND codigo.id='{}' """).format(data_prog, intervalo,data_prog, id)

Someone could tell me where I'm going wrong.

Thank you in advance

    
asked by anonymous 03.01.2018 / 14:27

2 answers

0

See if it works. I think the parentage of the first condition of where was in the wrong place.

("""select ordem.id,ordem.data_prog,ordem.rms, ordem.pkpk, medida.ganho,ponto.descricao as ponto, unidade.id as id_unid, unidade.id_segmento as segmento,equipamento.id as id_equipamento,codigo.id, codigo.descricao
            from intranet.vb_item_ordem_servico ordem
            join intranet.vb_ponto_medida medida on medida.id = ordem.id_ponto_medida
            join intranet.vb_ponto ponto on ponto.id = medida.id_vb_ponto
            join intranet.gm_arvore arvore on arvore.id = ponto.id_arvore
            join intranet.cd_unidade unidade on unidade.id = arvore.id_unidade
            join intranet.gm_equipamento_arvore equipamento on equipamento.id = arvore.id
            join intranet.ce_tipo_equipamento codigo on codigo.id = equipamento.id_tipo_equipamento
            where ordem.data_prog between date_sub(to_date('{}', 'DD/MM/YYYY'), INTERVAL {} MONTH) and to_date('{}', 'DD/MM/YYYY') 
            AND codigo.id='{}' """).format(data_prog, intervalo,data_prog, id)
    
03.01.2018 / 19:52
0

I do not know Oracle, but its where has a right parenthesis ')' that does not "home" with anyone, put in a terminal qt-console (I think it works in ipython as well) and go browsing the line code and opening and closing parentheses are highlighted, I did this with their where and Rapahel's response and found (in both) a "single" closing parenthesis.

where (ordem.data_prog between date_sub(to_date('{}', 'DD/MM/YYYY'), INTERVAL {} MONTH) and to_date('{}', 'DD/MM/YYYY')) AND codigo.id='{}' """).format(data_prog, intervalo,data_prog, id)

).format(data_prog, intervalo,data_prog, id)
^
Esse parenteses está "solteiro"  
    
05.01.2019 / 15:10