Ir para conteúdo
Fórum Script Brasil

Jonathan Kloh

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por Jonathan Kloh

  1. Sim existe as duas possibilidades. Quase consegui o que desejo rsrsrs, retirei o where e trouxe quase oque quero só por um detalhe, ele está retornando todos as pessoas com metas + o valor das pessoas que não tem meta o problema que não está mostrando o nome dessas pessoas que a meta ficou null. Ficou como esse exemplo no primeiro campo.

    null      |  null  |697569
    PEDRO     |240000   |1374417
    MARIA     |60000    |67995
    FRANCISCO |200000   |2376976
    ZÉ        |NULL     |23423
    ROMARIO   |20000    |NULL
    

    Resolvido! Retirei o where e fiz a condição direto no join e adicionei um OR na junção com a pessoa para me trazer os nomes quando tiver tanto relação com a meta como com o pedido.

    SELECT
    
      PESSOA.Fantasia AS REPRESENTANTE,
      METAS.MetaValorMinimoBase AS META,
      COALESCE(SUM(PEDIDOITEM.PedidoItemValorTotal),0) AS Valor
     
    FROM PEDIDO
      INNER JOIN PEDIDOITEM ON PEDIDO.PedidoCodigo = PEDIDOITEM.PedidoCodigo
    AND 
    PEDIDO.PedidoExcluido = 'N' and
    PEDIDO.PedidoTipoMovimentoCodigo IN (1,5,6) AND
    PEDIDO.PedidoSituacao IN ('A','B','O','T','E')AND
    PEDIDO.PedidoDataEmissao BETWEEN '01/06/2018'  AND '05/06/2018'
      FULL JOIN METAS ON PEDIDO.PedidoRepresentante = METAS.MetaRepCod
      LEFT JOIN PESSOA ON  METAS.MetaRepCod = PESSOA.Codigo or
      PEDIDO.PedidoRepresentante = PESSOA.Codigo
    
    
    
    GROUP BY
      PESSOA.Fantasia,
      METAS.MetaValorMinimoBase,
    
    Order by PESSOA.Fantasia
    

     

  2. Preciso de ajuda na formação de uma consulta, 

    tenho 4 tabelas (comissão, pessoa, pedido, pedidoitem). Então preciso trazer todas as pessoas e seus valores de metas mesmo que não tenha ainda valores em pedido. fiz um select o problema que ele não retorna a pessoa quando não tem pedido pra essa pessoa.

    Quero que ele retorne por exemplo: nome da pessoa/ meta/ valoralcançado

    meu código está assim até agora:

    SELECT
      [PESSOA].[Fantasia] AS REPRESENTANTE,
      [METAS].[MetaValorMinimoBase] AS META,
      SUM(ISNULL(PDV_PedidoItemValorTotal,0)) AS Valor
    
    
    FROM COM_METAS
      FULL JOIN PESSOA ON METAS.MetaRepCod = PESSOA.Codigo
      LEFT JOIN PEDIDO ON PESSOA.Codigo = PEDIDO.PedidoRepresentante
      LEFT JOIN PEDIDOITEM ON PEDIDO.PedidoCodigo = PEDIDOITEM.PedidoCodigo
    
    WHERE PEDIDO.PedidoExcluido = 'N' and
    PEDIDO.PedidoTipoMovimentoCodigo IN (1,5,6) AND
    PEDIDO.PedidoSituacao IN ('A','B','O','T','E')AND
    PEDIDO.PedidoDataEmissao BETWEEN '01/06/2018'  AND '05/06/2018'
    
    GROUP BY
      [PESSOA].[Fantasia],
      [METAS].[MetaValorMinimoBase]
    
    Order by [PESSOA].[Fantasia]

    RETORNO :

    JOÃO      |60000    |697569
    PEDRO     |240000   |1374417
    MARIA     |60000    |67995
    FRANCISCO |200000   |2376976
    ZÉ        |NULL     |23423
    ROMARIO   |20000    |NULL

    Quero que me traga as outras pessoas que tem metas mesmo que não tenha valor.

    Ele até retorna as pessoas com meta null, mas quero que retorne também os que tem valor(dos pedidos) null ou 0 no caso.

     Resumindo: preciso que o select me traga também as pessoas e meta que não tem pedidos ainda, mas tem cadastro retornando o valor como null. Que o código assim me traz todas as pessoas e meta que contem pedido. A ideia é me retornar todas as pessoas que tem metas e valores que já alcançou mesmo que não tenha valor.

×
×
  • Criar Novo...