Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #102345
    Avatar de DilsoDilso
    Participante

      Pessoal, Boa Tarde.

      Preciso fazer um left join em três tabelas. Como eu faço para substituir o select abaixo ?

      Obrigado!

      SELECT CP.HOLDING, CP.MATRIZ, CP.FILIAL, CP.TP_NF, CP.SITUACAO,
      NVL(CP.MODELO_NF,’ ‘) MODELO_NF, CP.EMITENTE, CP.PARTICIPANTE, CP.NF_DOC, NVL(CP.SERIE,’ ‘) SERIE,
      NVL(CP.SUBSERIE,’ ‘) SUBSERIE, TO_DATE (CP.DT_EMISSAO, ‘DD/MM/YYYY’) DT_EMISSAO,
      TO_DATE (CP.DT_SISTEMA, ‘DD/MM/YYYY’) DT_SISTEMA,
      TO_DATE (CP.DT_SAIDA, ‘DD/MM/YYYY’) DT_SAIDA, CP.TP_PAGAMENTO,
      CP.RESP_FRETE, CP.CHAVE_NFE, CP.VLR_DOC, CP.VLR_MER_SERV,
      CP.VLR_DESC VLR_DESC_CP, CP.ABAT_NTRIBUT, CP.VLR_FRETE, CP.VLR_SEGURO,
      CP.VLR_DESPESAS, CP.TP_FRETE,CP.NFTYPE,CP.DOCNUM,
      IT.CFOP, IT.CFOP_DIG,SUM(REPLACE(IT.PESO_LIQUIDO,’.’,’,’)) PESO_LIQUIDO, SUM(REPLACE(IT.PESO_BRUTO,’.’,’,’)) PESO_BRUTO, PT.TIPO, PT.NOME, PT.COD_PAIS,
      PT.CNPJ, PT.CPF, PT.IE, PT.COD_MUN,PT.COD_UF,PT.SUFRAMA, PT.ENDERECO,PT.CEP,PT.NUM,
      SUBSTR(PT.COMPL,1,10) COMPL, PT.BAIRRO
      FROM CF_NF_CAPA CP, CF_NF_ITEM IT, CF_PARTICIPANTE PT
      WHERE CP.HOLDING = IT.HOLDING
      AND CP.MATRIZ = IT.MATRIZ
      AND CP.FILIAL = IT.FILIAL
      AND CP.TP_NF = IT.TP_NF
      AND CP.SITUACAO = IT.SITUACAO
      AND NVL(CP.MODELO_NF,’ ‘) = NVL(IT.MODELO_NF,’ ‘)
      AND CP.EMITENTE = IT.EMITENTE
      AND CP.PARTICIPANTE = IT.PARTICIPANTE
      AND CP.NF_DOC = IT.NF_DOC
      AND NVL(CP.SERIE,’ ‘) = NVL(IT.SERIE,’ ‘)
      AND NVL(CP.SUBSERIE,’ ‘) = NVL(IT.SUBSERIE,’ ‘)
      AND TO_DATE (CP.DT_EMISSAO, ‘DD/MM/YYYY’) = TO_DATE (IT.DT_EMISSAO,
      ‘DD/MM/YYYY’)
      AND TO_DATE (CP.DT_SISTEMA, ‘DD/MM/YYYY’) = TO_DATE (IT.DT_SISTEMA,
      ‘DD/MM/YYYY’)
      AND CP.PARTICIPANTE = PT.COD_PART
      GROUP BY CP.HOLDING, CP.MATRIZ, CP.FILIAL, CP.TP_NF, CP.SITUACAO,
      CP.MODELO_NF, CP.EMITENTE, CP.PARTICIPANTE, CP.NF_DOC,CP.SERIE,
      CP.SUBSERIE,CP.DT_EMISSAO,CP.DT_SISTEMA,DT_SAIDA, CP.TP_PAGAMENTO,
      CP.RESP_FRETE, CP.CHAVE_NFE, CP.VLR_DOC, CP.VLR_MER_SERV,
      CP.VLR_DESC, CP.VLR_DESC, CP.ABAT_NTRIBUT, CP.VLR_FRETE, CP.VLR_SEGURO,
      CP.VLR_DESPESAS, CP.TP_FRETE,CP.NFTYPE,CP.DOCNUM,
      IT.CFOP, IT.CFOP_DIG, PT.TIPO, PT.NOME, PT.COD_PAIS,
      PT.CNPJ, PT.CPF, PT.IE, PT.COD_MUN,PT.COD_UF,PT.SUFRAMA, PT.ENDERECO,PT.CEP,PT.NUM,
      COMPL, PT.BAIRRO;

      #102346
      Avatar de rmanrman
      Participante

        Basicamente é só mudar as condições de ligação de lugar:


        SELECT CP.HOLDING,
        CP.MATRIZ,
        CP.FILIAL,
        CP.TP_NF,
        CP.SITUACAO,
        NVL(CP.MODELO_NF, ' ') MODELO_NF,
        CP.EMITENTE,
        CP.PARTICIPANTE,
        CP.NF_DOC,
        NVL(CP.SERIE, ' ') SERIE,
        NVL(CP.SUBSERIE, ' ') SUBSERIE,
        TO_DATE(CP.DT_EMISSAO, 'DD/MM/YYYY') DT_EMISSAO,
        TO_DATE(CP.DT_SISTEMA, 'DD/MM/YYYY') DT_SISTEMA,
        TO_DATE(CP.DT_SAIDA, 'DD/MM/YYYY') DT_SAIDA,
        CP.TP_PAGAMENTO,
        CP.RESP_FRETE,
        CP.CHAVE_NFE,
        CP.VLR_DOC,
        CP.VLR_MER_SERV,
        CP.VLR_DESC VLR_DESC_CP,
        CP.ABAT_NTRIBUT,
        CP.VLR_FRETE,
        CP.VLR_SEGURO,
        CP.VLR_DESPESAS,
        CP.TP_FRETE,
        CP.NFTYPE,
        CP.DOCNUM,
        IT.CFOP,
        IT.CFOP_DIG,
        SUM(REPLACE(IT.PESO_LIQUIDO, '.', ',')) PESO_LIQUIDO,
        SUM(REPLACE(IT.PESO_BRUTO, '.', ',')) PESO_BRUTO,
        PT.TIPO,
        PT.NOME,
        PT.COD_PAIS,
        PT.CNPJ,
        PT.CPF,
        PT.IE,
        PT.COD_MUN,
        PT.COD_UF,
        PT.SUFRAMA,
        PT.ENDERECO,
        PT.CEP,
        PT.NUM,
        SUBSTR(PT.COMPL, 1, 10) COMPL,
        PT.BAIRRO
        FROM CF_NF_CAPA CP
        LEFT JOIN CF_NF_ITEM IT ON CP.HOLDING = IT.HOLDING AND CP.MATRIZ = IT.MATRIZ AND CP.FILIAL = IT.FILIAL AND CP.TP_NF = IT.TP_NF AND CP.SITUACAO = IT.SITUACAO AND NVL(CP.MODELO_NF, ' ') = NVL(IT.MODELO_NF, ' ') AND CP.EMITENTE = IT.EMITENTE AND CP.PARTICIPANTE = IT.PARTICIPANTE AND CP.NF_DOC = IT.NF_DOC AND NVL(CP.SERIE, ' ') = NVL(IT.SERIE, ' ') AND NVL(CP.SUBSERIE, ' ') = NVL(IT.SUBSERIE, ' ') AND TO_DATE(CP.DT_EMISSAO, 'DD/MM/YYYY') = TO_DATE(IT.DT_EMISSAO, 'DD/MM/YYYY') AND TO_DATE(CP.DT_SISTEMA, 'DD/MM/YYYY') = TO_DATE(IT.DT_SISTEMA, 'DD/MM/YYYY')
        LEFT JOIN CF_PARTICIPANTE PT ON CP.PARTICIPANTE = PT.COD_PART
        GROUP BY CP.HOLDING,
        CP.MATRIZ,
        CP.FILIAL,
        CP.TP_NF,
        CP.SITUACAO,
        CP.MODELO_NF,
        CP.EMITENTE,
        CP.PARTICIPANTE,
        CP.NF_DOC,
        CP.SERIE,
        CP.SUBSERIE,
        CP.DT_EMISSAO,
        CP.DT_SISTEMA,
        DT_SAIDA,
        CP.TP_PAGAMENTO,
        CP.RESP_FRETE,
        CP.CHAVE_NFE,
        CP.VLR_DOC,
        CP.VLR_MER_SERV,
        CP.VLR_DESC,
        CP.VLR_DESC,
        CP.ABAT_NTRIBUT,
        CP.VLR_FRETE,
        CP.VLR_SEGURO,
        CP.VLR_DESPESAS,
        CP.TP_FRETE,
        CP.NFTYPE,
        CP.DOCNUM,
        IT.CFOP,
        IT.CFOP_DIG,
        PT.TIPO,
        PT.NOME,
        PT.COD_PAIS,
        PT.CNPJ,
        PT.CPF,
        PT.IE,
        PT.COD_MUN,
        PT.COD_UF,
        PT.SUFRAMA,
        PT.ENDERECO,
        PT.CEP,
        PT.NUM,
        COMPL,
        PT.BAIRRO;

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress