Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #107294
    Avatar de Ronnie Von Pereira LopesRonnie 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
      Avatar de rmanrman
      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