Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thiago Ladislau

Como exibir lista de clientes

Recommended Posts

Boa tarde galera, tenho uma duvida que já pesquisei e não achei nada semelhante.

 

Tenho uma tabela de vendedores e uma tabela de pedidos e gostaria de listar todos os clientes desse vendedor, porem preciso que nessa lista saia todos os clientes que efetuaram venda e os que nao efetuaram venda tambem.

 

Sendo assim ficaria assim...

 


cod  |  Cliente    |  Total Venda
10     Maria           100,00
55     Antonio         256,00
60     Jose              0,00
66     Tiririca         30,00
67     Alceu             0,00
90     Perone            0,00

 

 

O que ja pesquisei e até fiz, me resulta apenas os clientes que obtiveram venda.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Motta, obrigado pela sugestão, mas não resolveu meu caso,

andei esfriando a cabeça e pode pensar em uma outra possibilidade que funcionou...

segue abaixo o cod para futuras pesquisas...

Esse resultado abaixo irá listar todas as vendas de um determinado vendedor exibindo apenas o total por mês, mesmo que nao haja venda será exibido o valor zero.

 

 

SELECT
PCCLIENT.codusur1, -- cod do vendedor - tabela de clientes
PCCLIENT.codcli,
PCCLIENT.cliente,
PCCLIENT.fantasia,
PCFORNEC.codfornec, --cod fornecedor - tabela de fornecedor
PCFORNEC.fornecedor,

ROUND(SUM(DECODE(TO_CHAR(PCPEDI.DATA,'MM'),'01',(NVL(PCPEDI.pvenda*PCPEDI.qt,0)),0)),2) AS JANEIRO,
ROUND(SUM(DECODE(TO_CHAR(PCPEDI.DATA,'MM'),'02',(NVL(PCPEDI.pvenda*PCPEDI.qt,0)),0)),2) AS FEVEREIRO,
ROUND(SUM(DECODE(TO_CHAR(PCPEDI.DATA,'MM'),'03',(NVL(PCPEDI.pvenda*PCPEDI.qt,0)),0)),2) AS MARÇO,
ROUND(SUM(DECODE(TO_CHAR(PCPEDI.DATA,'MM'),'04',(NVL(PCPEDI.pvenda*PCPEDI.qt,0)),0)),2) AS ABRIL,
ROUND(SUM(DECODE(TO_CHAR(PCPEDI.DATA,'MM'),'05',(NVL(PCPEDI.pvenda*PCPEDI.qt,0)),0)),2) AS MAIO,
ROUND(SUM(DECODE(TO_CHAR(PCPEDI.DATA,'MM'),'06',(NVL(PCPEDI.pvenda*PCPEDI.qt,0)),0)),2) AS JUNHO,
ROUND(SUM(DECODE(TO_CHAR(PCPEDI.DATA,'MM'),'07',(NVL(PCPEDI.pvenda*PCPEDI.qt,0)),0)),2) AS JULHO,
ROUND(SUM(DECODE(TO_CHAR(PCPEDI.DATA,'MM'),'08',(NVL(PCPEDI.pvenda*PCPEDI.qt,0)),0)),2) AS AGOSTO,
ROUND(SUM(DECODE(TO_CHAR(PCPEDI.DATA,'MM'),'09',(NVL(PCPEDI.pvenda*PCPEDI.qt,0)),0)),2) AS SETEMBRO,
ROUND(SUM(DECODE(TO_CHAR(PCPEDI.DATA,'MM'),'10',(NVL(PCPEDI.pvenda*PCPEDI.qt,0)),0)),2) AS OUTUBRO,
ROUND(SUM(DECODE(TO_CHAR(PCPEDI.DATA,'MM'),'11',(NVL(PCPEDI.pvenda*PCPEDI.qt,0)),0)),2) AS NOVEMBRO,
ROUND(SUM(DECODE(TO_CHAR(PCPEDI.DATA,'MM'),'12',(NVL(PCPEDI.pvenda*PCPEDI.qt,0)),0)),2) AS DEZEMBRO,
ROUND(SUM(NVL(PCPEDI.QT*PCPEDI.pvenda,0)),2) TOTAL
FROM PCCLIENT LEFT OUTER JOIN

(SELECT PCPEDI.codcli,PCPEDI.QT,PCPEDI.pvenda,PCPEDI.data,PCPEDI.codprod FROM PCPEDI LEFT OUTER JOIN
PCPRODUT ON PCPRODUT.codprod=PCPEDI.codprod LEFT OUTER JOIN
PCFORNEC ON PCPRODUT.codfornec=PCFORNEC.codfornec WHERE PCPEDI.data BETWEEN '01-JAN-2013' AND '28-NOV-2013' AND PCFORNEC.codfornec=28)


PCPEDI ON PCCLIENT.codcli=PCPEDI.codcli LEFT OUTER JOIN
PCUSUARI ON PCCLIENT.codusur1=PCUSUARI.codusur LEFT OUTER JOIN
PCSUPERV ON PCUSUARI.codsupervisor=PCSUPERV.codsupervisor LEFT OUTER JOIN
PCPRODUT ON PCPRODUT.codprod=PCPEDI.codprod LEFT OUTER JOIN
PCFORNEC ON PCPRODUT.codfornec=PCFORNEC.codfornec
WHERE PCCLIENT.codusur1=115
--PCSUPERV.codsupervisor=11


GROUP BY
PCCLIENT.codusur1,
PCCLIENT.codcli,
PCCLIENT.cliente,
PCCLIENT.fantasia,
PCFORNEC.codfornec,
PCFORNEC.fornecedor

ORDER BY
PCCLIENT.codusur1, PCCLIENT.codcli

/*

TABELAS UTILIZADAS

PCCLIENT = CLIENTE

PCPRODUT = PRODUTO

PCUSUARI = VENDEDOR

PCSUPERV = SUPERVISOR

PCPEDI = ITENS DO PEDIDO

PCFORNEC = FORNECEDOR

*/



OBS: SERÃO EXIBIDOS TODOS OS CLIENTES DA CARTEIRA DO VENDEDOR.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.