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
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
Curtir tópico
+ 0
Responder
Posts
25/11/2020
Emerson Nascimento
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.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
Clique aqui para fazer login e interagir na Comunidade :)