ANALISE SINTETICA DE SQL
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
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
Curtidas 0
Respostas
Emerson Nascimento
25/11/2020
tente algo assim:
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?
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.NOMEmas 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?
GOSTEI 0