Duvida SQL no ORACLE. Como retornar o maior ?

19/07/2004

0

Ola!
Tenho o seguinte select:

select distinct cod_modelo, nota,tipo,data_emissao from notas where cod_cliente = 779806115 and
data_emissao = ( select max(data_emissao) nota from notas where cod_cliente = 22332256
and complemento=´N´ and (status_nota =´0´ or status_nota = ´1´ or status_nota = ´4´))

Que me retorna:

COD_MODELO  NOTA TI DATA_EMI
---------- ---------- -- --------
      1191     175308 R4 08/01/03
      1191     175309 R1 08/01/03


Tah trazendo a maior data(como eu quero mesmo)...MAS... como faço para me retornar soh uma NOTA, ou seja , a maior nota.

Bjs
Ana


Aninha

Aninha

Responder

Posts

21/07/2004

Motta

select distinct cod_modelo, nota,tipo,data_emissao from notas where cod_cliente = 779806115 and data_emissao = ( select max(data_emissao) nota from notas where cod_cliente = 22332256 and complemento=´N´ and (status_nota =´0´ or status_nota = ´1´ or status_nota = ´4´))


os cod´s diferem 779806115/22332256 ?
as notas parecem ser sequenciais pq não pesquisa a maior nota e nao a maior data ??!!

select distinct cod_modelo, nota,tipo,data_emissao from notas where cod_cliente = 1 and
num_nota = ( select max(num_nota) nota from notas where cod_cliente = 1
and complemento=´N´ and (status_nota =´0´ or status_nota = ´1´ or status_nota = ´4´))


é isto ?


Responder

04/10/2004

Fernando-bh

Aninha,

tente isso:

select   cod_modelo, nota, tipo, data_emissao 
from     notas
where    cod_cliente = 779806115
and      complemento=´N´ 
and     (status_nota =´0´ 
      or status_nota = ´1´
      or status_nota = ´4´)
and     (data_emissao,nota) in (select   data_emissao, max(nota)
                                from     notas
                                where    cod_cliente = 779806115 
                                and      data_emissao = (select   max(data_emissao)
                                                         from     notas
                                                         where    cod_cliente = 779806115 
                                                         and      complemento=´N´ 
                                                         and     (status_nota =´0´ 
                                                               or status_nota = ´1´
                                                               or status_nota = ´4´))
                             and      complemento=´N´ 
                       and     (status_nota =´0´
                                      or status_nota = ´1´
                                   or status_nota = ´4´)
                                group by data_emissao)


Um abraço,

Fernando-BH
Administrador de banco de dados Oracle


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar