Ir para conteúdo

Arquivado

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

Faccruz

[Resolvido] Retornar a maior data cadastrada

Recommended Posts

tenho essa SQL funcionando.

 

SELECT distinct(ENT_ITENT.CODITPROD),
	   CAD_ITPROD.DIGITPROD,
	   CAD_PROD.DESCRICAO,
	   CAD_ESPEC.DESCRES,
	   CAD_ITPROD.TAMANHO,
	   ENT_ITENT.PRECOUNIT,
	   ENT_ITENT.QTCOMP,
	   ENT_ITENT.QTRECEB,
	   CAD_ITPROD.CODITFORN,
	   CAD_COR.DESCRES,
	   CAD_EMBAL.UNIDMAIOR,
	   CAD_EMBAL.QTEMB,
	   CAD_EMBAL.UNIDMENOR,
	   CAD_ITPROD.CODPRODDF,
	   ENT_ITENT.VLIPI,
	   CAD_PROD.QTDVOLUME,
	   ENT_ITENT.DESCCOMPLE,
	   CAD_PROD.DIFER,
	   ENT_ITENT.VLBASEICMS,
	   ENT_ITENT.ALIQICM,
	   ENT_ITENT.QTSALDO,
	   ENT_ITENT.PORCIPI,
	   ENT_ITENT.CODBARRA,
	   ent_itent.DTNOTA,
	   ENT_ITENT.DPI,
	   ENT_ITENT.VLTOTITEM,
	   ENT_ITENT.VLDESCONTO,
	   ENT_ITENT.VLDESCITEM,
	   ENT_ITENT.VLICMF,
	   ENT_ITENT.VLDESPESAS,
	   ENT_ITENT.VLICMRETC,
	   ENT_ITENT.VLDESPACES,
	   ENT_ITENT.VLFRETE,
	   ENT_ITENT.VLOUTDESP,
	   ENT_ITENT.VLSEGURO,
	   ENT_ITENT.VLCONHEC,
	   ENT_ITENT.VLICMFRT,
	   ENT_ITENT.VLSUFRAMA,
	   ENT_ITENT.VLPISSUB,
	   ENT_ITENT.VLCOFSUB,
	   ENT_ITENT.VLPIN,
	   ENT_ITENT.VLPIS,
	   ENT_ITENT.VLCOFINS,
	   ENT_ITENT.VLICMSGARANTIDO,
	   ENT_ITENT.QTESTOQUE,
	   ENT_ITENT.CMUPANT,
	   ENT_ITENT.CMUP,
	   ENT_ITENT.CUE,
	   ENT_ITENT.CODREMETNF,
	   ENT_ITENT.QTRECEBRF,
	   ENT_ITENT.VLICMSANTEC,
	   ENT_ITENT.VLICMSANTECDIF,
	   ENT_ITENT.CODNATOP,
	   ENT_ITENT.CODNATOPCOMPL,
	   ENT_ITENT.CODNATOPDIF,
	   ENT_ITENT.CODNATOPDIFCOMPL,
	   CAD_ITPROD.NOMEMERCOSUL,
	   ENT_ITENT.VLBASEICMSGARANTIDO,
	   ENT_ITENT.VLBASEICMSANTECDIF,
	   CAD_PROD.UNIDADE,
	   CAD_PROD.CLASFISC
  FROM ENT_ITENT, CAD_ITPROD, CAD_PROD, CAD_ESPEC, CAD_COR, CAD_EMBAL
 WHERE ENT_ITENT.CODITPROD = CAD_ITPROD.CODITPROD
   AND CAD_PROD.CODPROD = CAD_ITPROD.CODPROD
   AND CAD_ITPROD.ESPECIFIC = CAD_ESPEC.ESPECIFIC
   AND CAD_ITPROD.CODCOR = CAD_COR.CODCOR
   AND CAD_ITPROD.CODFAM = CAD_ESPEC.CODFAM
   AND ENT_ITENT.CODEMBAL = CAD_EMBAL.CODEMBAL
   AND CAD_PROD.CODPROD = CAD_EMBAL.CODPROD
   AND CAD_ITPROD.codproddf = '184460'
   and ent_itent.codfil = 999
 ORDER BY ENT_ITENT.CODITPROD, ent_itent.dtnota

Mas quero retornar apenas a ultima data (DTNOTA) cadastrada. Colocquei o MAX(DTNOTA), ele me exige que coloque o group by, coloquei mais ainda está trazendo todos os registros

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver. Para quem precisar

 

 

 

SELECT ENT_ITENT.NUMNOTA,
	   ent_nota.estado,
	   ENT_ITENT.CODITPROD,
	   CAD_ITPROD.DIGITPROD,
	   CAD_PROD.DESCRICAO,
	   CAD_ESPEC.DESCRES,
	   CAD_ITPROD.TAMANHO,
	   ENT_ITENT.PRECOUNIT,
	   ENT_ITENT.QTCOMP,
	   ENT_ITENT.QTRECEB,
	   CAD_ITPROD.CODITFORN,
	   CAD_COR.DESCRES,
	   CAD_EMBAL.UNIDMAIOR,
	   CAD_EMBAL.QTEMB,
	   CAD_EMBAL.UNIDMENOR,
	   CAD_ITPROD.CODPRODDF,
	   ENT_ITENT.VLIPI,
	   CAD_PROD.QTDVOLUME,
	   ENT_ITENT.DESCCOMPLE,
	   CAD_PROD.DIFER,
	   ENT_ITENT.VLBASEICMS,
	   ENT_ITENT.ALIQICM,
	   ENT_ITENT.QTSALDO,
	   ENT_ITENT.PORCIPI,
	   ENT_ITENT.CODBARRA,
	   ENT_ITENT.DTNOTA,
	   ENT_ITENT.DPI,
	   ENT_ITENT.VLTOTITEM,
	   ENT_ITENT.VLDESCONTO,
	   ENT_ITENT.VLDESCITEM,
	   ENT_ITENT.VLICMF,
	   ENT_ITENT.VLDESPESAS,
	   ENT_ITENT.VLICMRETC,
	   ENT_ITENT.VLDESPACES,
	   ENT_ITENT.VLFRETE,
	   ENT_ITENT.VLOUTDESP,
	   ENT_ITENT.VLSEGURO,
	   ENT_ITENT.VLCONHEC,
	   ENT_ITENT.VLICMFRT,
	   ENT_ITENT.VLSUFRAMA,
	   ENT_ITENT.VLPISSUB,
	   ENT_ITENT.VLCOFSUB,
	   ENT_ITENT.VLPIN,
	   ENT_ITENT.VLPIS,
	   ENT_ITENT.VLCOFINS,
	   ENT_ITENT.VLICMSGARANTIDO,
	   ENT_ITENT.QTESTOQUE,
	   ENT_ITENT.CMUPANT,
	   ENT_ITENT.CMUP,
	   ENT_ITENT.CUE,
	   ENT_ITENT.CODREMETNF,
	   ENT_ITENT.QTRECEBRF,
	   ENT_ITENT.VLICMSANTEC,
	   ENT_ITENT.VLICMSANTECDIF,
	   ENT_ITENT.CODNATOP,
	   ENT_ITENT.CODNATOPCOMPL,
	   ENT_ITENT.CODNATOPDIF,
	   ENT_ITENT.CODNATOPDIFCOMPL,
	   CAD_ITPROD.NOMEMERCOSUL,
	   ENT_ITENT.VLBASEICMSGARANTIDO,
	   ENT_ITENT.VLBASEICMSANTECDIF,
	   CAD_PROD.UNIDADE,
	   CAD_PROD.CLASFISC
  FROM ENT_ITENT, CAD_ITPROD, CAD_PROD, CAD_ESPEC, CAD_COR, CAD_EMBAL, ent_nota
 WHERE ENT_ITENT.CODITPROD = CAD_ITPROD.CODITPROD
   and ent_nota.numnota = ent_itent.numnota
   AND CAD_PROD.CODPROD = CAD_ITPROD.CODPROD
   AND CAD_ITPROD.ESPECIFIC = CAD_ESPEC.ESPECIFIC
   AND CAD_ITPROD.CODCOR = CAD_COR.CODCOR
   AND CAD_ITPROD.CODFAM = CAD_ESPEC.CODFAM
   AND ENT_ITENT.CODEMBAL = CAD_EMBAL.CODEMBAL
   AND CAD_PROD.CODPROD = CAD_EMBAL.CODPROD
   AND ENT_ITENT.CODFIL = 999
   and cad_itprod.codproddf = '151869'
   and ent_itent.dtnota =
	   (select max(ent_itent.dtnota)
		  from ent_itent
		 where ENT_ITENT.CODITPROD = CAD_ITPROD.CODITPROD)
 ORDER BY ENT_ITENT.CODITPROD

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenho essa SQL funcionando.

 

SELECT distinct(ENT_ITENT.CODITPROD),
	   CAD_ITPROD.DIGITPROD,
	   CAD_PROD.DESCRICAO,
	   CAD_ESPEC.DESCRES,
	   CAD_ITPROD.TAMANHO,
	   ENT_ITENT.PRECOUNIT,
	   ENT_ITENT.QTCOMP,
	   ENT_ITENT.QTRECEB,
	   CAD_ITPROD.CODITFORN,
	   CAD_COR.DESCRES,
	   CAD_EMBAL.UNIDMAIOR,
	   CAD_EMBAL.QTEMB,
	   CAD_EMBAL.UNIDMENOR,
	   CAD_ITPROD.CODPRODDF,
	   ENT_ITENT.VLIPI,
	   CAD_PROD.QTDVOLUME,
	   ENT_ITENT.DESCCOMPLE,
	   CAD_PROD.DIFER,
	   ENT_ITENT.VLBASEICMS,
	   ENT_ITENT.ALIQICM,
	   ENT_ITENT.QTSALDO,
	   ENT_ITENT.PORCIPI,
	   ENT_ITENT.CODBARRA,
	   ent_itent.DTNOTA,
	   ENT_ITENT.DPI,
	   ENT_ITENT.VLTOTITEM,
	   ENT_ITENT.VLDESCONTO,
	   ENT_ITENT.VLDESCITEM,
	   ENT_ITENT.VLICMF,
	   ENT_ITENT.VLDESPESAS,
	   ENT_ITENT.VLICMRETC,
	   ENT_ITENT.VLDESPACES,
	   ENT_ITENT.VLFRETE,
	   ENT_ITENT.VLOUTDESP,
	   ENT_ITENT.VLSEGURO,
	   ENT_ITENT.VLCONHEC,
	   ENT_ITENT.VLICMFRT,
	   ENT_ITENT.VLSUFRAMA,
	   ENT_ITENT.VLPISSUB,
	   ENT_ITENT.VLCOFSUB,
	   ENT_ITENT.VLPIN,
	   ENT_ITENT.VLPIS,
	   ENT_ITENT.VLCOFINS,
	   ENT_ITENT.VLICMSGARANTIDO,
	   ENT_ITENT.QTESTOQUE,
	   ENT_ITENT.CMUPANT,
	   ENT_ITENT.CMUP,
	   ENT_ITENT.CUE,
	   ENT_ITENT.CODREMETNF,
	   ENT_ITENT.QTRECEBRF,
	   ENT_ITENT.VLICMSANTEC,
	   ENT_ITENT.VLICMSANTECDIF,
	   ENT_ITENT.CODNATOP,
	   ENT_ITENT.CODNATOPCOMPL,
	   ENT_ITENT.CODNATOPDIF,
	   ENT_ITENT.CODNATOPDIFCOMPL,
	   CAD_ITPROD.NOMEMERCOSUL,
	   ENT_ITENT.VLBASEICMSGARANTIDO,
	   ENT_ITENT.VLBASEICMSANTECDIF,
	   CAD_PROD.UNIDADE,
	   CAD_PROD.CLASFISC
  FROM ENT_ITENT, CAD_ITPROD, CAD_PROD, CAD_ESPEC, CAD_COR, CAD_EMBAL
 WHERE ENT_ITENT.CODITPROD = CAD_ITPROD.CODITPROD
   AND CAD_PROD.CODPROD = CAD_ITPROD.CODPROD
   AND CAD_ITPROD.ESPECIFIC = CAD_ESPEC.ESPECIFIC
   AND CAD_ITPROD.CODCOR = CAD_COR.CODCOR
   AND CAD_ITPROD.CODFAM = CAD_ESPEC.CODFAM
   AND ENT_ITENT.CODEMBAL = CAD_EMBAL.CODEMBAL
   AND CAD_PROD.CODPROD = CAD_EMBAL.CODPROD
   AND CAD_ITPROD.codproddf = '184460'
   and ent_itent.codfil = 999
 ORDER BY ENT_ITENT.CODITPROD, ent_itent.dtnota

Mas quero retornar apenas a ultima data (DTNOTA) cadastrada. Colocquei o MAX(DTNOTA), ele me exige que coloque o group by, coloquei mais ainda está trazendo todos os registros

Boa tarde colega,

 

Com as poucas informações que você pos fica dificil te ajudar. Mas supondo que sua tabela possua uma chave sequencial (que nao seja o numero da nota), e sim uma coluna atrelada a uma sequence, a solução ficaria mais ou menos assim:

 

select

<colunas da tabela de nota>

from

<tabela de nota>

where

<chave sequencial> = (select max(<chave sequencial>) from <tabela de nota>)

 

Assim, ele vai retornar somente a linha que representa a ultima nota informada.

 

Abs

 

[ ]

 

Marcio.

Blog: http://formula-oracle.blogspot.com/

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.