Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #107294
    Ronnie Von Pereira Lopes
    Participante

      Boa Tarde!

      Prezados, na SQL abaixo eu tenho resultado que eu preciso, porem tem um campo que vem repetido, eu preciso que quanto o valor de IDISM seja repetido apareça somente uma vez.

      SQL
      SELECT
      SUM(NVL( MABCISM.QUANTIDADE + MABCISM.QTDEIMPRODUTIVA,MTAREFA.QUANTIDADE)) AS QTDE_SOLUM,
      SUM (NVL((
      SELECT
      TRUNC(SUM(TITMMOV.QUANTIDADE * (TITMMOVRATCCU.PERCENTUAL/100) ),6)
      FROM TITMMOV
      JOIN TMOV
      ON TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA
      AND TMOV.IDMOV = TITMMOV.IDMOV
      LEFT JOIN TITMMOVRATCCU ON TITMMOV.CODCOLIGADA = TITMMOVRATCCU.CODCOLIGADA AND TITMMOV.IDMOV = TITMMOVRATCCU.IDMOV AND TITMMOV.NSEQITMMOV = TITMMOVRATCCU.NSEQITMMOV
      WHERE TITMMOV.CODCOLIGADA = MABCISM.CODCOLIGADA
      AND TITMMOV.IDPRJ = MABCISM.IDPRJ
      AND TITMMOV.IDTRF = MABCISM.IDOBRA
      AND TITMMOV.IDPRD = TPRD.IDPRD
      AND TMOV.CODTMV LIKE ‘1.2%’
      ),0)) AS COMPRAS_PRD,

      MABCISM.IDPRJ,
      MABCISM.IDISM

      FROM TITMMOV
      LEFT JOIN TPRD
      ON TITMMOV.CODCOLIGADA = TPRD.CODCOLIGADA
      AND TITMMOV.IDPRD = TPRD.IDPRD
      JOIN (SELECT DISTINCT TCITMORCAMENTO.CODCOLIGADA,
      TCITMORCAMENTO.IDPRD,
      TCITMORCAMENTO.IDMOV,
      TCITMORCAMENTO.NSEQITMMOV,
      TCITMORCAMENTO.CODCOTACAO
      /* TCITMORCAMENTO.VALCOTACAO */
      FROM TCITMORCAMENTO
      WHERE TCITMORCAMENTO.CODCOTACAO = ‘2015.000100’
      AND TCITMORCAMENTO.CODCOLIGADA = ‘1’
      ) TBTCITMORCAMENTO
      ON TBTCITMORCAMENTO.CODCOLIGADA = TITMMOV.CODCOLIGADA
      AND TBTCITMORCAMENTO.IDPRD = TITMMOV.IDPRD
      AND TBTCITMORCAMENTO.IDMOV = TITMMOV.IDMOV
      AND TBTCITMORCAMENTO.NSEQITMMOV = TITMMOV.NSEQITMMOV
      JOIN TMOV
      ON TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA
      AND TMOV.IDMOV = TITMMOV.IDMOV
      LEFT JOIN TITMMOVRATCCU ON TITMMOV.CODCOLIGADA = TITMMOVRATCCU.CODCOLIGADA AND TITMMOV.IDMOV = TITMMOVRATCCU.IDMOV AND TITMMOV.NSEQITMMOV = TITMMOVRATCCU.NSEQITMMOV
      LEFT JOIN MTAREFA ON TITMMOVRATCCU.CODCOLIGADA = MTAREFA.CODCOLIGADA AND TITMMOVRATCCU.IDPRJ = MTAREFA.IDPRJ AND TITMMOVRATCCU.IDTRF = MTAREFA.IDTRF
      LEFT JOIN GCCUSTO ON GCCUSTO.CODCOLIGADA=TITMMOVRATCCU.CODCOLIGADA AND GCCUSTO.CODCCUSTO=TITMMOVRATCCU.CODCCUSTO
      LEFT JOIN MISMPRD
      ON TPRD.CODCOLIGADA = MISMPRD.CODCOLIGADA
      AND TITMMOV.IDPRJ = MISMPRD.IDPRJ
      AND TPRD.IDPRD = MISMPRD.IDPRD
      LEFT JOIN MABCISM
      ON MTAREFA.CODCOLIGADA = MABCISM.CODCOLIGADA
      AND MTAREFA.IDPRJ = MABCISM.IDPRJ
      AND MTAREFA.IDTRF = MABCISM.IDOBRA
      AND MISMPRD.IDISM = MABCISM.IDISM

      LEFT JOIN TUND
      ON TPRD.CODUNDCOMPRA = TUND.CODUND
      WHERE TITMMOV.CODCOLIGADA = ‘1’
      AND TBTCITMORCAMENTO.CODCOTACAO = ‘2015.000100’
      GROUP BY
      TITMMOV.CODUND,
      TPRD.CODIGOREDUZIDO,
      TPRD.NOMEFANTASIA,
      TPRD.NUMEROCCF,
      TITMMOV.IDPRD,
      MABCISM.IDISM,
      TBTCITMORCAMENTO.CODCOTACAO ,
      MABCISM.IDPRJ,
      MABCISM.IDISM,
      TUND.FATORCONVERSAO,
      GCCUSTO.CODREDUZIDO
      ORDER BY 4

      Resultado

      QTD D Projeto IDISM

      60359,25 0 1638 337665
      60359,25 0 1638 337665
      60359,25 0 1638 337665
      60359,25 0 1638 337665
      57485 0 1638 337667

      Resultado Esperado

      QTD D Projeto IDISM

      60359,25 0 1638 337665
      0 0 1638 337665
      0 0 1638 337665
      0 0 1638 337665
      57485 0 1638 337667

      Repetiu o IDISM 337665 por isso precisa trazer q quantidade somente 1 vez.

      Obrigado Amigos pela Ajuda.

      #107295
      rman
      Participante

        @Ronnie Von Pereira Lopes

        Existe alguma relação entre as tabelas de 1 para N que está sendo feito o JOIN sem necessidade. Lembrando que só é necessário fazer JOIN de uma tabela que você precisa trazer dados dela. Se você fez o JOIN da tabela apenas com a intenção de fazer o filtro, remova a tabela do JOIN e utilize EXISTS.

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