› Fóruns › SQL e PL/SQL › Ajuda para montar essa Select › Ajuda para montar essa Select
Bom dia, fiz dessa forma
SELECT RES.CODIGO,
RES.PRODUTO,
RES.CODGRUPO,
RES.DESCGRUPO,
RES.FORNECEDOR,
RES.MVENDAS1,
RES.YVENDAS1,
RES.DTULTCOMP,
RES.QTDULTCOMP,
RES.VLRULTCOMP,
RES.ESTQDIAS,
RES.ESTQQTD,
RES.CUSTOATUAL,
RES.VLRVENDA,
RES.CUSTO
FROM (SELECT CAD_ITPROD.CODPRODDF CODIGO,
CAD_PROD.DESCRICAO PRODUTO,
CAD_PROD.CODGRUPO CODGRUPO,
CAD_GRUPO.DESCRICAO DESCGRUPO,
CAD_FORNE.FANTASIA FORNECEDOR,
0 MVENDAS1,
0 YVENDAS1,
CAD_PRODLOC.DTULTENT DTULTCOMP,
CAD_PRODLOC.QTDULTENT QTDULTCOMP,
VEN_PRODFIL.CUSTONF VLRULTCOMP,
0 ESTQDIAS,
0 ESTQQTD,
VEN_PRODFIL.CMUP CUSTOATUAL,
CAD_PRECO.PRECO VLRVENDA,
VEN_PRODFIL.CUE CUSTO
FROM CAD_PRECO,
VEN_PRODFIL,
CAD_CODBARRA,
CAD_EMBAL,
CAD_ITPROD,
CAD_PROD,
CAD_ESPEC,
CAD_COR,
CAD_FAMILIA,
CAD_DIFER,
CAD_SITPRO,
CAD_PRODLOC,
CAD_PRODLOC CAD_PRODLOC_DEP,
CAD_FORNE,
CAD_GRUPO,
CAD_SUBGRUP,
CAD_TPPROD,
CAD_TRIBUT
WHERE CAD_EMBAL.TPEMB IN ('C', 'V', 'T')
AND (CAD_EMBAL.STATUS 9 OR CAD_EMBAL.STATUS IS NULL)
AND (CAD_SITPRO.FLCONSULTA 'N')
AND CAD_PRECO.CODFIL = 999
AND VEN_PRODFIL.CODFIL = 999
AND CAD_PRODLOC.CODFIL = 999
AND CAD_PRODLOC.TPDEPOS = 'D'
AND CAD_PRODLOC_DEP.CODFIL = 999
AND CAD_PRODLOC_DEP.CODITPROD = CAD_ITPROD.CODITPROD
AND CAD_PRODLOC_DEP.TPDEPOS = 'D'
AND CAD_PRODLOC.CODITPROD = CAD_ITPROD.CODITPROD
AND CAD_ESPEC.CODFAM = CAD_ITPROD.CODFAM
AND CAD_ESPEC.ESPECIFIC = CAD_ITPROD.ESPECIFIC
AND CAD_COR.CODCOR = CAD_ITPROD.CODCOR
AND CAD_EMBAL.CODPROD = CAD_PROD.CODPROD
AND CAD_PRECO.CODEMBAL = CAD_EMBAL.CODEMBAL
AND CAD_PRECO.CODITPROD = CAD_ITPROD.CODITPROD
AND CAD_PROD.CODPROD = CAD_ITPROD.CODPROD
AND CAD_PROD.DIFER = CAD_DIFER.DIFER
AND VEN_PRODFIL.CODPROD = CAD_PROD.CODPROD
AND CAD_FAMILIA.CODFAM = CAD_ITPROD.CODFAM
AND CAD_FAMILIA.CODLINHA = CAD_ITPROD.CODLINHA
AND CAD_PRECO.CODSITPROD = CAD_SITPRO.CODSITPROD
AND CAD_CODBARRA.CODITPROD = CAD_ITPROD.CODITPROD
AND CAD_CODBARRA.CODEMBAL = CAD_EMBAL.CODEMBAL
AND CAD_ITPROD.CODGRUPO = CAD_GRUPO.CODGRUPO
AND CAD_ITPROD.CODSUBGP = CAD_SUBGRUP.CODSUBGP
AND CAD_FORNE.CODFORNE = CAD_ITPROD.CODFORNE
AND CAD_FAMILIA.CODFAM = CAD_GRUPO.CODFAM
AND CAD_FAMILIA.CODFAM = CAD_SUBGRUP.CODFAM
AND CAD_TPPROD.ESPECIAL = CAD_PROD.ESPECIAL
AND CAD_TRIBUT.CTF = CAD_PROD.CTF
AND (CAD_PROD.FLPRODRESIPI = 'N' OR CAD_PROD.FLPRODRESIPI IS NULL)
"UNION ALL"
SELECT CAD_ITPROD.CODPRODDF CODIGO,
' ' PRODUTO,
0 CODGRUPO,
' ' DESCGRUPO,
' ' FORNECEDOR,
EXTRACT(MONTH FROM DTVENDA) MVENDAS1,
EXTRACT(YEAR FROM DTVENDA) YVENDAS1,
NULL DTULTCOMP,
0 QTDULTCOMP,
0 VLRULTCOMP,
0 ESTQDIAS,
0 ESTQQTD,
0 CUSTOATUAL,
0 VLRVENDA,
0 CUSTO
FROM EST_PROD
INNER JOIN CAD_ITPROD ON (EST_PROD.CODITPROD = CAD_ITPROD.CODITPROD)
WHERE TPDATA = 0
AND DTVENDA >
TO_DATE('2011-03-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
GROUP BY EXTRACT(MONTH FROM DTVENDA),
EXTRACT(YEAR FROM DTVENDA),
CAD_ITPROD.CODPRODDF) RES
ORDER BY RES.CODIGO
e o resultado foi o seguinte
