Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/05/2011, 13:00
naxete85
 
Fecha de Ingreso: enero-2009
Mensajes: 12
Antigüedad: 15 años, 9 meses
Puntos: 0
Oracle - Seleccionar un registro u otro en función de un campo de la misma tabla

Buenas tarde,

Explico mi problema. Tengo por ejemplo una tabla con lo siguiente:

fecha color cantidad
23052011 rojo 0
22052011 rojo 120
21052011 rojo 23

Necesito sacar una query que me saque el registro que tiene fecha del día, por ejemplo para hoy día 23052011 sería el primero. Pero si ese registro el campo cantidad es 0, que me saque el del día justo anterior.

Yo he pensado hacerlo así, pero no me acaba de convencer. Alguien se le ocurre alguna otra manera:

select cantidad
from tabla
where fecha = getdate()
and cantidad <> 0
UNION
select B.cantidad
from tabla A
inner join tabla B
on A.color= b.color
and A.fecha = getdate()
and B.fecha= getdate()-2
where A.cantidad = 0

Muchas gracias de antemano.