00933 Comando não encerrado adequadamente no excel

18/11/2019

0

Estou executando essa query no toad e ela executa tranquilamente, porém vou executar no power query do excel, ela dá o erro 00933, segue a query abaixo
Select
''''HSLS'''' AS UNIDADE,
Itfat.Dt_Competencia Dt_Competencia_H,
Itfat.Nm_Setor Nm_Setor_H,
Itfat.Cd_Prestador Cd_Prestador_H,
Replace(Replace(Replace(Prestador.Nm_Prestador,Chr(9),''''''''),Chr(10),''''''''),Chr(13),'''''''') Nm_Prestador_H,
Itfat.Cd_Atendimento Cd_Atendimento_H,
Paciente.Nm_Paciente Nm_Paciente_H,
Itfat.Ds_Gru_Fat Ds_Gru_Fat_H,
Itfat.Ds_Pro_Fat Ds_Pro_Fat_H,
Sum(Itfat.Vl_Total_Conta) Vl_Total_Conta_H,
Sum(Itfat.Vl_Glosa) Vl_Glosa_H,
Sum(Itfat.Vl_Recursado) Vl_Recursado_H

From (
Select trunc(Itreg_Fat.Dt_Lancamento) Dt_Competencia
,Setor.Nm_Setor
,Reg_Fat.Cd_Atendimento
,Nvl( (Select Prestador_Aviso.Cd_Prestador
From Dbamv.Prestador_Aviso
Join Dbamv.Mvto_Estoque On Mvto_Estoque.Cd_Aviso_Cirurgia = Prestador_Aviso.Cd_Aviso_Cirurgia
Join Dbamv.Itmvto_Estoque On Itmvto_Estoque.Cd_Mvto_Estoque = Mvto_Estoque.Cd_Mvto_Estoque
Where Itmvto_Estoque.Cd_Mvto_Estoque = Itreg_Fat.Cd_Mvto
And Itmvto_Estoque.Cd_Itmvto_Estoque = Itreg_Fat.Cd_Itmvto
And Prestador_Aviso.Sn_Principal = ''''S''''
And Prestador_Aviso.Cd_Ati_Med = 1
And Rownum = 1)
,
Itreg_Fat.Cd_Prestador
) Cd_Prestador
,Gru_Fat.Ds_Gru_Fat
,Itreg_Fat.Tp_Mvto
,Replace(Replace(Replace(Pro_Fat.Ds_Pro_Fat,Chr(9),''''''''),Chr(10),''''''''),Chr(13),'''''''') Ds_Pro_Fat
,Itreg_Fat.Vl_Total_Conta
,0 as Vl_Glosa
,0 as Vl_Recursado

From Dbamv.Itreg_Fat
Join Dbamv.Reg_Fat On Reg_Fat.Cd_Reg_Fat = Itreg_Fat.Cd_Reg_Fat
Join Dbamv.Setor On Setor.Cd_Setor = Nvl(Itreg_Fat.Cd_Setor_Produziu,Itreg_Fat.Cd_Setor)
Join Dbamv.Setor Consolidador On Consolidador.Cd_Setor = Setor.Cd_Setor_Custo
And Consolidador.Cd_Multi_Empresa = Setor.Cd_Multi_Empresa
And Consolidador.Nm_Setor = ''''CON-HEMODINAMICA''''

Join Dbamv.Pro_Fat On Pro_Fat.Cd_Pro_Fat = Itreg_Fat.Cd_Pro_Fat
Join Dbamv.Gru_Pro On Gru_Pro.Cd_Gru_Pro = Pro_Fat.Cd_Gru_Pro
Join Dbamv.Gru_Fat On Gru_Fat.Cd_Gru_Fat = Gru_Pro.Cd_Gru_Fat

Where trunc(Itreg_Fat.Dt_Lancamento) Between ''''01/08/2019'''' and ''''31/08/2019''''
And Itreg_Fat.Sn_Pertence_Pacote = ''''N''''
And Nvl (Itreg_Fat.Tp_Pagamento, ''''P'''') <> ''''C''''
And Nvl (Reg_Fat.Sn_Diagno, ''''N'''') = ''''N''''
And Setor.Cd_Multi_Empresa = 1

union all

Select Reccon_Rec.Dt_Recebimento Dt_Lancamento
,Setor.Nm_Setor
,Itfat_Nota_Fiscal.Cd_Atendimento
,Nvl( (Select Prestador_Aviso.Cd_Prestador
From Dbamv.Prestador_Aviso
Join Dbamv.Mvto_Estoque On Mvto_Estoque.Cd_Aviso_Cirurgia = Prestador_Aviso.Cd_Aviso_Cirurgia
Join Dbamv.Itmvto_Estoque On Itmvto_Estoque.Cd_Mvto_Estoque = Mvto_Estoque.Cd_Mvto_Estoque
Where Itmvto_Estoque.Cd_Mvto_Estoque = Itreg_Fat.Cd_Mvto
And Itmvto_Estoque.Cd_Itmvto_Estoque = Itreg_Fat.Cd_Itmvto
And Prestador_Aviso.Sn_Principal = ''''S''''
And Prestador_Aviso.Cd_Ati_Med = 1
And Rownum = 1)
,
Itreg_Fat.Cd_Prestador
) Cd_Prestador
,Gru_Fat.Ds_Gru_Fat
,''''Glosa'''' Tp_Mvto
,Replace(Replace(Replace(Pro_Fat.Ds_Pro_Fat,Chr(9),''''''''),Chr(10),''''''''),Chr(13),'''''''') Ds_Pro_Fat
,0 Vl_Total_Conta
,Round(It_Recebimento.Vl_Glosa * -1,2) Vl_Glosa
,0 Vl_Recursado
From Dbamv.Reccon_Rec
Join Dbamv.It_Recebimento On It_Recebimento.Cd_Reccon_Rec = Reccon_Rec.Cd_Reccon_Rec
Join Dbamv.Itfat_Nota_Fiscal On Itfat_Nota_Fiscal.Cd_Itfat_Nf = It_Recebimento.Cd_Itfat_Nf
Join Dbamv.Itreg_Fat On Itreg_Fat.Cd_Reg_Fat = Itfat_Nota_Fiscal.Cd_Reg_Fat
And Itreg_Fat.Cd_Lancamento = Itfat_Nota_Fiscal.Cd_Lancamento_Fat
Join Dbamv.Setor On Setor.Cd_Setor = Itfat_Nota_Fiscal.Cd_Setor And Setor.Cd_Multi_Empresa = Reccon_Rec.Cd_Multi_Empresa
Join Dbamv.Setor Consolidador On Consolidador.Cd_Setor = Setor.Cd_Setor_Custo
And Consolidador.Cd_Multi_Empresa = Setor.Cd_Multi_Empresa
And Consolidador.Nm_Setor = ''''CON-HEMODINAMICA''''
Join Dbamv.Pro_Fat On Pro_Fat.Cd_Pro_Fat = Itfat_Nota_Fiscal.Cd_Pro_Fat
Join Dbamv.Gru_Pro On Gru_Pro.Cd_Gru_Pro = Pro_Fat.Cd_Gru_Pro
Join Dbamv.Gru_Fat On Gru_Fat.Cd_Gru_Fat = Gru_Pro.Cd_Gru_Fat
Where Reccon_Rec.Dt_Recebimento Between ''''01/08/2019'''' and ''''31/08/2019''''
And Setor.Cd_Multi_Empresa = 1

union all

Select
Reccon_Rec.Dt_Recebimento Dt_Lancamento
,X.Nm_Setor
,X.Cd_Atendimento
,X.Cd_Prestador
,X.Ds_Gru_Fat
,''''Glosa Recursada'''' Tp_Mvto
,X.Ds_Pro_Fat
,0 Vl_Total_Conta
,0 Vl_Glosa
,Sum(Round(Reccon_Rec.Vl_Recebido * X.Vl_Itfat_Nf / Nota_Fiscal.Vl_Total_Nota,2)) Vl_Recursado

From Dbamv.Reccon_Rec
Join Dbamv.Itcon_Rec On Itcon_Rec.Cd_Itcon_Rec = Reccon_Rec.Cd_Itcon_Rec
Join Dbamv.Con_Rec On Con_Rec.Cd_Con_Rec = Itcon_Rec.Cd_Con_Rec
Join Dbamv.Nota_Fiscal On Nota_Fiscal.Cd_Nota_Fiscal = Con_Rec.Cd_Nota_Fiscal
Join (Select Itfat_Nota_Fiscal.Cd_Nota_Fiscal
,Setor.Nm_Setor
,Itfat_Nota_Fiscal.Cd_Atendimento
,Nvl( (Select Prestador_Aviso.Cd_Prestador
From Dbamv.Prestador_Aviso
Nicolas Oliveira

Nicolas Oliveira

Responder

Post mais votado

20/11/2019

Olá Nicolas !! Tranquilo ?

Olha, parece estar faltando um pedaço na sua query... veja abaixo:

From Dbamv.Reccon_Rec
Join Dbamv.Itcon_Rec On Itcon_Rec.Cd_Itcon_Rec = Reccon_Rec.Cd_Itcon_Rec
Join Dbamv.Con_Rec On Con_Rec.Cd_Con_Rec = Itcon_Rec.Cd_Con_Rec
Join Dbamv.Nota_Fiscal On Nota_Fiscal.Cd_Nota_Fiscal = Con_Rec.Cd_Nota_Fiscal
Join (Select Itfat_Nota_Fiscal.Cd_Nota_Fiscal
,Setor.Nm_Setor
,Itfat_Nota_Fiscal.Cd_Atendimento
,Nvl( (Select Prestador_Aviso.Cd_Prestador
From Dbamv.Prestador_Aviso


Não sei qual é o banco que vc está usando mas se for Oracle então falta um pedaço da função NVL na penúltima linha...

,Nvl( (Select Prestador_Aviso.Cd_Prestador
From Dbamv.Prestador_Aviso


Esta página de documentação da Oracle explica sobre a função NVL:

https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions105.htm


Este artigo da Devmedia também fala sobre a NVL dentre outras...

https://www.devmedia.com.br/sql-avancado/28889


Dá uma olhada e veja se não esqueceu nada quando levou a query pro Excel...

Espero ter ajudado,
Abraço e bons códigos.

Jorge Pinto

Jorge Pinto
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar