Ir para conteúdo

Arquivado

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

aninha_imasters

SQL no ORACLE. Como retornar o maior ?

Recommended Posts

Ola!Tenho o seguinte select:select distinct cod_modelo, nota,tipo,data_emissao from notas where cod_cliente = 779806115 anddata_emissao = ( select max(data_emissao) nota from notas where cod_cliente = 22332256and complemento='N' and (status_nota ='0' or status_nota = '1' or status_nota = '4'))Que me retorna:Código:COD_MODELO NOTA TI DATA_EMI---------- ---------- -- -------- 1191 175308 R4 08/01/03 1191 175309 R1 08/01/03Tah trazendo a maior data(como eu quero mesmo)...MAS... como faço para me retornar soh uma NOTA, ou seja , a maior nota.Bjs Aninha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa aninha...mas o seu sql não está retornando uma consulta com 2 códigos de clientes diferentes aqui?

 

tenta assim...

 

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 = '779806115' and                                     complemento='N' and                                     status_nota in ('0','1','4')                                  )

sendo a nota de um cliente a última data no caso o max tem que ser para o mesmo cliente...pois a nota deveria ser apenas uma com a última data de emissão...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Aninha,tambem estava interresado em saber isso, mas por umas pesquisas que fiz nao achei nada que falasse sobre um intervalo de dados selecionados, como você quer apenas 1 por exemplo, mas tem um comando ORDER BY <campo> DESC, que você pode colocar no fim do seu SELECT,se achar alguma coisa desse intervale de apenas 1 resultados ou de tantos resultados esperados eu tb tenho interresse,espero que tenha ajudado,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, tenta o seguinte comando:

 

Select * from (

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 = '779806115' and

complemento='N'

and status_nota in ('0','1','4'))

Order by nota desc)

Where rownum = 1;

 

Só dá uma conferida nos parêntesis antes de rodar.

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.