Enviada: Qui, 20 Jan 2011 9:21 am Assunto: Linhas repetidas
--------------------------------------------------------------------------------
Puts não estou conseguindo fazer com que o campo cd_reg_fat_previa não traga valores repetidos.-
----------------------------------------
Select
--rownum linha,
distinct Cd_Reg_Fat_Previa
, SN_Proced_Realizado
, SN_Eqp_Medica
, Ds_Organiza_Grupo_Procedimento
, Cd_Grupo_Procedimento
, Cd_Sub_Grupo_Procedimento
, Cd_Organiza_Grupo_Procedimento
, Vl_SH_Principal
, Vl_SH_Proprio
, Vl_SH_Terceiro
, Vl_SP_Proprio
, Vl_SP_Terceiro
, Vl_SP_RATEIO_Proprio
, Vl_SP_RATEIO_Terceiro
, VL_TOTAL_CONTA
, cd_remessa
, dt_competencia
, ds_remessa
From (Select distinct Cd_Reg_Fat_Previa
, SN_Proced_Realizado
, SN_Eqp_Medica
, VL_TOTAL_CONTA
,dt_competencia
, cd_remessa
, Ds_Organiza_Grupo_Procedimento
, Cd_Grupo_Procedimento
, Cd_Sub_Grupo_Procedimento
, Cd_Organiza_Grupo_Procedimento
, ds_remessa
-- Serviço Hospitalar
-- Serviço Hospitalar
, Sum(Vl_SH_Principal) Vl_SH_Principal
, sum(Vl_SH_Proprio) Vl_SH_Proprio
, sum(Vl_SH_Terceiro) Vl_SH_Terceiro
-- Serviço Profissional
, sum(Vl_SP_Proprio) Vl_SP_Proprio
, sum(Vl_SP_Terceiro) Vl_SP_Terceiro
, sum(Vl_SP_RATEIO_Proprio) Vl_SP_RATEIO_Proprio
, sum(Vl_SP_RATEIO_Terceiro) Vl_SP_RATEIO_Terceiro
-- , VL_TOTAL_CONTA
From (Select distinct Cd_Reg_Fat_Previa Cd_Reg_Fat_Previa
, SN_Proced_Realizado SN_Proced_Realizado
, SN_Eqp_Medica SN_Eqp_Medica
, SN_Admite_longa_Permanencia SN_Admite_longa_Permanencia
, vl_total_conta VL_TOTAL_CONTA
, Ds_Organiza_Grupo_Procedimento Ds_Organiza_Grupo_Procedimento
, Cd_Grupo_Procedimento Cd_Grupo_Procedimento
, Cd_Sub_Grupo_Procedimento Cd_Sub_Grupo_Procedimento
, Cd_Organiza_Grupo_Procedimento Cd_Organiza_Grupo_Procedimento
, cd_remessa cd_remessa
, dt_competencia dt_competencia
, ds_remessa ds_remessa
-- Serviço Hospitalar
, Decode(SN_Admite_longa_Permanencia
,'S',sum(Vl_SH_Longa_PM)
,VL_SH_Principal) Vl_SH_Principal
, Sum(Vl_SH_Longa_PM) Vl_SH_Longa_PM
, Sum(Decode(SN_OPM,'S',Decode(Cd_Tipo_Vinculo , 3 , Null
, Vl_SH_Proprio),Vl_SH_Proprio)) Vl_SH_Proprio
, Sum(Decode(SN_OPM,'S',Decode(Cd_Tipo_Vinculo , 3 , Vl_SH_Terceiro
, Null), Null)) Vl_SH_Terceiro
-- Serviço Profissional
, Sum(Decode(Cd_Tipo_Vinculo , 3 , Null
, Vl_SP_Proprio )) Vl_SP_Proprio
, Sum(Decode(Cd_Tipo_Vinculo , 3 , Vl_SP_Terceiro
, Null)) Vl_SP_Terceiro
, sum(Vl_SP_RATEIO_Proprio) Vl_SP_RATEIO_Proprio
, sum(Vl_SP_RATEIO_Terceiro) Vl_SP_RATEIO_Terceiro
-- , vl_total_conta VL_TOTAL_CONTA
From ( Select distinct ItReg_Fat.Cd_Reg_Fat Cd_Reg_Fat_Previa
, ItReg_Fat.Cd_Lancamento Cd_Lancamento
, decode(ItReg_Fat.Cd_Procedimento, '0412010127', 'S', ItReg_Fat.SN_Proced_Realizado) SN_Proced_Realizado
,fatura.dt_competencia dt_competencia
,REMESSA_FATURA.cd_remessa cd_remessa
, OGP.Cd_Grupo_Procedimento Cd_Grupo_Procedimento
,OGP.Cd_Sub_Grupo_Procedimento Cd_Sub_Grupo_Procedimento
, OGP.Cd_Organiza_Grupo_Procedimento Cd_Organiza_Grupo_Procedimento
, OGP.Ds_Organiza_Grupo_Procedimento Ds_Organiza_Grupo_Procedimento
, reg_fat.vl_total_conta VL_TOTAL_CONTA
, remessa_fatura.ds_remessa ds_remessa
-- Parametros para apoio
, Decode( ItLan_Med.Cd_Prestador , Null , 'N'
, 'S') SN_Eqp_Medica
, PDetal.SN_Ortese_Protese SN_OPM
, Decode( PDetal.SN_Ortese_Protese , 'S' , ItCob_Pre.Cd_Fornecedor
, Decode( ItLan_Med.Cd_Prestador , Null , ItReg_Fat.Cd_Prestador
, ItLan_Med.Cd_Prestador)) Cd_Prestador
, SN_Admite_longa_Permanencia SN_Admite_longa_Permanencia
-- Definição do tipo de vnculo
, Decode( PDetal.SN_Ortese_Protese , 'S' , Dbamv.Fnc_FFIS_Define_Vinculo_OPM(ItCob_Pre.Cd_Fornecedor)
, Decode( ItLan_Med.Cd_Prestador , Null , ItReg_Fat.Cd_Tipo_Vinculo
, ItLan_Med.Cd_Tipo_Vinculo)) Cd_Tipo_Vinculo
-- Serviço Hospitalar
, ItReg_Fat.Vl_SH Vl_SH_Principal
, ItReg_Fat.Vl_SH Vl_SH_Longa_PM
, ItReg_Fat.Vl_SH Vl_SH_Proprio
, ItReg_Fat.Vl_SH Vl_SH_Terceiro
-- Serviço Profissional
, decode(PDetal.sn_exige_cpf_cbo,'N', decode(sn_diaria_uti, 'N',0 , Decode(Decode( PDetal.SN_Ortese_Protese , 'S' , Dbamv.Fnc_FFIS_Define_Vinculo_OPM(ItCob_Pre.Cd_Fornecedor)
, Decode( ItLan_Med.Cd_Prestador , Null , ItReg_Fat.Cd_Tipo_Vinculo
, ItLan_Med.Cd_Tipo_Vinculo)), 3, null
, Decode(ItLan_Med.Cd_Prestador , Null , Decode (Nvl(itreg_fat.qt_pontos,0), 0, ItReg_Fat.Vl_SP
, null)
, Decode (Nvl(ItLan_Med.qt_pontos,0), 0, ItLan_Med.Vl_Ato
, null)))) ,
Decode(Decode( PDetal.SN_Ortese_Protese , 'S' , Dbamv.Fnc_FFIS_Define_Vinculo_OPM(ItCob_Pre.Cd_Fornecedor)
, Decode( ItLan_Med.Cd_Prestador , Null , ItReg_Fat.Cd_Tipo_Vinculo
, ItLan_Med.Cd_Tipo_Vinculo)), 3, null
, Decode(ItLan_Med.Cd_Prestador , Null , Decode (Nvl(itreg_fat.qt_pontos,0), 0, ItReg_Fat.Vl_SP
, null)
, Decode (Nvl(ItLan_Med.qt_pontos,0), 0, ItLan_Med.Vl_Ato
, null)))
) Vl_SP_Proprio
--
, Decode(Decode( PDetal.SN_Ortese_Protese , 'S' , Dbamv.Fnc_FFIS_Define_Vinculo_OPM(ItCob_Pre.Cd_Fornecedor)
, Decode( ItLan_Med.Cd_Prestador , Null , ItReg_Fat.Cd_Tipo_Vinculo
, ItLan_Med.Cd_Tipo_Vinculo)), 3, Decode(ItLan_Med.Cd_Prestador , Null , Decode (Nvl(itreg_fat.qt_pontos,0), 0, ItReg_Fat.Vl_SP
, null)
, Decode (Nvl(ItLan_Med.qt_pontos,0), 0, ItLan_Med.Vl_Ato
, null))
, null) Vl_SP_Terceiro
--
, Decode(Decode( PDetal.SN_Ortese_Protese , 'S' , Dbamv.Fnc_FFIS_Define_Vinculo_OPM(ItCob_Pre.Cd_Fornecedor)
, Decode( ItLan_Med.Cd_Prestador , Null , ItReg_Fat.Cd_Tipo_Vinculo
, ItLan_Med.Cd_Tipo_Vinculo)), 3, 0
, Decode(ItLan_Med.Cd_Prestador , Null , Decode (Nvl(Itreg_fat.qt_pontos,0), 0, 0
, ItReg_Fat.Vl_SP)
, Decode (Nvl(ItLan_Med.qt_pontos,0), 0, 0
, ItLan_Med.Vl_Ato)) )Vl_SP_RATEIO_Proprio
--
, Decode(Decode( PDetal.SN_Ortese_Protese , 'S' , Dbamv.Fnc_FFIS_Define_Vinculo_OPM(ItCob_Pre.Cd_Fornecedor)
, Decode( ItLan_Med.Cd_Prestador , Null , ItReg_Fat.Cd_Tipo_Vinculo
, ItLan_Med.Cd_Tipo_Vinculo)), 3, Decode(ItLan_Med.Cd_Prestador , Null , Decode (Nvl(Itreg_fat.qt_pontos,0), 0, 0
, ItReg_Fat.Vl_SP)
, Decode (Nvl(ItLan_Med.qt_pontos,0), 0, 0
, ItLan_Med.Vl_Ato))
, null) Vl_SP_RATEIO_Terceiro
From Dbamv.ItReg_Fat ItReg_Fat
, Dbamv.ItLan_Med ItLan_Med
, Dbamv.ItCob_Pre ItCob_Pre
, Dbamv.Procedimento_SUS_Detalhe PDetal
, Dbamv.Organiza_Grupo_Procedimentos OGP
, DBAMV.reg_fat reg_fat
, REMESSA_FATURA REMESSA_FATURA
, FATURA FATURA
Where ItReg_Fat.Cd_Reg_Fat = ItLan_Med.Cd_Reg_Fat (+)
And ItReg_Fat.Cd_Lancamento = ItLan_Med.Cd_Lancamento (+)
And ItReg_Fat.Cd_Reg_Fat = ItCob_Pre.Cd_Reg_Fat (+)
And ItReg_Fat.Cd_lancamento = ItCob_Pre.Cd_lancamento (+)
and ItReg_Fat.sn_proced_realizado = 'S'
And ItReg_Fat.sn_pertence_pacote = 'N'
And PDetal.Cd_Procedimento = ItReg_Fat.Cd_Procedimento
AND ITREG_FAT.cd_reg_fat = reg_fat.cd_reg_fat
AND REG_FAT.cd_remessa = REMESSA_FATURA.cd_remessa
AND FATURA.cd_fatura = REMESSA_FATURA.cd_fatura
and remessa_fatura.ds_remessa like 'AIH-ALTA COMPLEXIDADE%'
-- And ItReg_Fat.cd_procedimento not in ('0702050814','0702050091')
-- and itreg_fat.cd_reg_fat = 18581
-- and substr(itreg_fat.cd_procedimento,1,6) = '020602'
-- and remessa_fatura.cd_remessa = 200
And OGP.Cd_Grupo_Procedimento = Substr(PDetal.Cd_Procedimento,1,2)
And OGP.Cd_Sub_Grupo_Procedimento = Substr(PDetal.Cd_Procedimento,3,2)
And OGP.Cd_Organiza_Grupo_Procedimento = Substr(PDetal.Cd_Procedimento,5,2)
And ((PDetal.SN_AIH_Principal = 'S'
Or PDetal.sn_aih_especial = 'S')
Or (PDetal.SN_AIH_Principal = 'N'
And PDetal.sn_aih_especial = 'N'
And nvl(ItReg_Fat.vl_sp, 0) > 0))
)
Group By Ds_Organiza_Grupo_Procedimento
, Cd_Grupo_Procedimento
, Cd_Sub_Grupo_Procedimento
, Cd_Organiza_Grupo_Procedimento
, VL_TOTAL_CONTA
, cd_remessa
,dt_competencia
,ds_remessa
, Cd_Reg_Fat_Previa
, Decode(SN_Proced_Realizado,'S',Cd_Lancamento,Null)
, Vl_SH_Principal
, SN_Proced_Realizado
, SN_Eqp_Medica
, SN_Admite_longa_Permanencia)
Group by Cd_Reg_Fat_Previa
, SN_Proced_Realizado
, SN_Eqp_Medica
, cd_remessa
,dt_competencia
, VL_TOTAL_CONTA
,ds_remessa
, Cd_Grupo_Procedimento
, Cd_Sub_Grupo_Procedimento
, Cd_Organiza_Grupo_Procedimento
, Ds_Organiza_Grupo_Procedimento)
-- where Cd_Reg_Fat_Previa in '3541'
-- and ItReg_Fat.sn_proced_realizado = 'S'
--WHERE remessa_fatura.cd_remessa = 135
Group By rownum , Cd_Reg_Fat_Previa , SN_Proced_Realizado , SN_Eqp_Medica
, VL_TOTAL_CONTA
, cd_remessa
,ds_remessa
,dt_competencia
, Cd_Grupo_Procedimento
, Cd_Sub_Grupo_Procedimento
, Cd_Organiza_Grupo_Procedimento, Ds_Organiza_Grupo_Procedimento , Vl_SH_Principal , Vl_SH_Proprio , Vl_SH_Terceiro , Vl_SP_Proprio , Vl_SP_Terceiro , Vl_SP_RATEIO_Proprio , Vl_SP_RATEIO_Terceiro
Order By cd_remessa
resultado (principais colunas)
cd_reg_fat_previa | ds_organiza_grupo | vl_total_contaotal
...
.....
1598 | PAREDE E CAVIDADE ABDOMINAL |6385,9
1598 | COLO-PROCTOLOGIA |6385,9
1659 | COLUNA VERTEBRAL E CAIXA TORÁCICA |3523,84
1797 | MEMBROS INFERIORES |1131,79
...
......