dada a seguinte PL/SQL:
SELECT DISTINCT OFOBJOFICINA.IDOBJOF Código, OFOBJOFICINA.IDOBJOF2 Placa,
TFAB.NOME Marca, OFMODELO.MODELO Modelo,
OFSUBMODELO.DESCRICAO SubModelo, OFOBJOFICINA.ANOFABR Ano,
substr(GDEPTO.NOME,1,3) Obra
FROM OFOBJOFICINA INNER JOIN OFTIPOOBJ
ON (OFOBJOFICINA.IDTIPOOBJ = OFTIPOOBJ.IDTIPOOBJ) INNER JOIN OFMODELO
ON (OFTIPOOBJ.IDTIPOOBJ = OFMODELO.IDTIPOOBJ) INNER JOIN OFSUBMODELO
ON (OFMODELO.IDTIPOOBJ = OFSUBMODELO.IDTIPOOBJ AND
OFMODELO.CODMODELO = OFSUBMODELO.CODMODELO) INNER JOIN OFAPROPRIACAOPRD
ON (OFOBJOFICINA.CODCOLIGADA = OFAPROPRIACAOPRD.CODCOLIGADA AND
OFOBJOFICINA.IDOBJOF = OFAPROPRIACAOPRD.IDOBJOF) INNER JOIN GDEPTO
ON (OFAPROPRIACAOPRD.CODCOLIGADA = GDEPTO.CODCOLIGADA AND
OFAPROPRIACAOPRD.CODFILIAL = GDEPTO.CODFILIAL AND
OFAPROPRIACAOPRD.CODDEPARTAMENTO = GDEPTO.CODDEPARTAMENTO) INNER JOIN TFAB
ON (OFMODELO.CODCOLFAB = TFAB.CODCOLIGADA AND
OFMODELO.CODFAB = TFAB.CODFAB)
WHERE (OFOBJOFICINA.CODCOLIGADA = 1
AND OFOBJOFICINA.CODMODELO = OFMODELO.CODMODELO
AND OFOBJOFICINA.CODSUBMODELO = OFSUBMODELO.CODSUBMODELO
AND OFTIPOOBJ.IDTIPOOBJ = OFOBJOFICINA.IDTIPOOBJ
AND OFOBJOFICINA.IDOBJOF LIKE 'CB001'||'%'
AND OFAPROPRIACAOPRD.DATAAPROPRIACAO BETWEEN '01/10/2007' AND '21/12/2007')
exemplo:
CÓDIGO PLACA MARCA MODELO SUBMODELO ANO OBRA
-------------------- -------------------- ---------------------------------------- ------------------------------ ------------------------- ---------------------- ----
CB001 DBP-4956 VOLKSWAGEN VIGA 17.220 2005 DAN
CB001 DBP-4956 VOLKSWAGEN VIGA 17.220 2005 MAN
CB001 DBP-4956 VOLKSWAGEN VIGA 17.220 2005 PAT
eu quero mostrar só a última locação em Obra, ou seja, a Obra que tiver a maior data
fica na tabela
OFAPROPRIACAOPRD.DATAEMISSAO
tentei um
Group By (OF....DATAEMISSAO) Having Max (OF....DATAEMISSAO)
, mas não deu certo