ANALISE SINTETICA DE SQL

25/11/2020

0

Ola amigos, um belo dia a todos,

tenho um script que o resultado que está me trazendo está sendo detalhado, gerando quase 20 paginas, entretanto gostaria de trazer resumido apenas por supervisor com os valores totais, segue o exemplo abaixo :

SELECT
NVL(E.CODSUPERVISOR, 0)COD,
(E.NOME)SUPERVISOR,
NVL(B.CODPROD, 0) CODPROD,
SUM(ROUND(NVL(B.QT, 0) * (NVL(B.PVENDA, 0) + NVL(B.VLOUTRASDESP, 0) + NVL(B.VLFRETE, 0)),2)) PVENDA,
SUM(B.QT) AS QT,
SUM(ROUND(NVL(C.PESOBRUTO, 0) * NVL(B.QT, 0),2)) AS TOTPESO,
SUM(ROUND(NVL(C.VOLUME, 0) * NVL(B.QT, 0),2)) Volume,
SUM(B.QT / C.QTUNITCX) "EMBALAGEM_MASTER",
COUNT(DISTINCT(b.NUMPED)) AS QTPEDIDO
FROM PCPEDC A,PCPEDI B, PCPRODUT C, pcusuari D, pcsuperv E
WHERE 1=1
AND A.NUMPED = B.NUMPED
AND A.DATA = B.DATA
AND B.CODPROD = C.CODPROD
AND A.CODUSUR = B.CODUSUR
AND A.CODSUPERVISOR = E.CODSUPERVISOR
AND A.CODUSUR = D.CODUSUR
AND A.CODFILIAL = C.CODFILIAL
AND A.DATA BETWEEN (''''01/11/2020'''') AND (''''24/11/2020'''')
AND B.CODPROD IN (770007,100144,39334,11170,9599,9531,7776,7775,7774,7773,7772,114,7771)
AND A.CODSUPERVISOR IN (10,11,19,16,20,21)
GROUP BY
E.CODSUPERVISOR,
E.NOME,
B.CODPROD,
B.QT,
B.QTORIG,
B.QTVENDAEMB
_________________________________________________________
o resultado que gostaria era, esse aqui, BEM RESUMIDO :
SUPERVISOR QTDVENDIDA VL.VENDA PESO
6 FENIX (MARCIO) 36.740,63 542.774,56 36400,24
10 JUDA (WIGSON) 32.168,79 531.882,88 31.800,08
19 ALFA (CARLOS) 26.468,89 361.011,20 25.410,95
20 AGUIA (SANDERSON) 19.091,95 277.105,71 18.602,35
11 GARRA (LIMA) 18.793,96 263.486,91 18.275,09
21 COZINHAS/VENDA INTERNA 7.042,33 125.188,93 7.378,50
TOTAL 140.306,55 2.101.450,19 137.867,21
Marcio Magalhaes

Marcio Magalhaes

Responder

Posts

25/11/2020

Emerson Nascimento

tente algo assim:
SELECT
	NVL(E.CODSUPERVISOR,0) COD,
	E.NOME SUPERVISOR,
	SUM(B.QT) QTDVENDIDA,
	SUM(ROUND(NVL(B.QT, 0) * (NVL(B.PVENDA, 0) + NVL(B.VLOUTRASDESP, 0) + NVL(B.VLFRETE, 0)),2)) VLRVENDA,
	SUM(ROUND(NVL(C.PESOBRUTO, 0) * NVL(B.QT, 0),2)) PESO
FROM
	PCPEDC A
INNER JOIN
	PCPEDI B ON B.NUMPED = A.NUMPED
	AND B.DATA = A.DATA
	AND B.CODUSUR = A.CODUSUR
INNER JOIN
	PCPRODUT C ON C.CODPROD = B.CODPROD
	AND C.CODFILIAL = A.CODFILIAL
INNER JOIN
	pcusuari D ON D.CODUSUR = A.CODUSUR
INNER JOIN
	pcsuperv E ON E.CODSUPERVISOR = A.CODSUPERVISOR
WHERE
	A.DATA BETWEEN ('01/11/2020') AND ('24/11/2020')
	AND B.CODPROD IN (770007,100144,39334,11170,9599,9531,7776,7775,7774,7773,7772,114,7771)
	AND A.CODSUPERVISOR IN (10,11,19,16,20,21)
GROUP BY
	E.CODSUPERVISOR,
	E.NOME

mas numa avaliação como esta acima não faz sentido exibir a quantidade vendida, porque os produtos podem ter unidades de medida diferentes.
por exemplo:
20 peças do produto A
03 quilos do produto B
80 metros do produto C
03 kits do produto D
25 litros do produto E

total 131.
131 o quê? essa quantidade não diz nada, entendeu?


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar