Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

los dos mas antiguos

Estas en el tema de los dos mas antiguos en el foro de Oracle en Foros del Web. necesito hacer una consulta: en una tabla de facturas, emitidas para varios clientes, todas ellas con un vencimiento diferente, necesito extraer las clientes o id ...
  #1 (permalink)  
Antiguo 31/07/2006, 16:04
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 20 años, 1 mes
Puntos: 0
los dos mas antiguos

necesito hacer una consulta:
en una tabla de facturas,
emitidas para varios clientes, todas ellas
con un vencimiento diferente, necesito extraer
las clientes o id de factura cuyo monto esta
entre 10 y 20 mil. y que ademas sean las ultimas
facturaspara ese cliente o id de factura.
mi poroblema es identificar las facturas mas recientes.
Atte
Mauricio:
si:
__________________
Dios es mas grande que tu problema :-)
  #2 (permalink)  
Antiguo 31/07/2006, 17:35
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
puedes hacer un query de un subquery

Código:
Select *
from (select IdFactura, IdCliente
       From Facturas
       Where Monto >= 10000 
          And Monto <= 20000
       Order by IdFactura)
Where Rowid <= 2;
Ahi modificas la tabla y columnas a tu conveniencia
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 01/08/2006, 08:58
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 20 años, 1 mes
Puntos: 0
Gracias.
La verdad no entiendo muy bien como funciona el "rowid". pero en concreto al usarlo como tu ejemplo me dice:

ORA-00932: tipos de dato inconsistentes: se esperaba ROWID se ha obtenido NUMBER
ORA-02063: line precediendo a ERP


Como comento mas arriba, el problemas es que necesito extraer a los clientes cuyo monto de las ultimas dos factura sea entre $10 y 30 mil

Muchas gracias
__________________
Dios es mas grande que tu problema :-)
  #4 (permalink)  
Antiguo 01/08/2006, 09:13
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 20 años, 1 mes
Puntos: 0
Se me ocurre hacer algo asi:
alter session set nls_comp=binary (rapidez)

select monto, id_cliente,fech_vencimiento
from factura a
where fech_vencimiento in
(select max(fech_vencimiento) from factura x where fech_vencimiento <= to_date('30/06/2006') and x.id_cliente = a.id_cliente)
and monto >=10000 and monto <=30000
__________________
Dios es mas grande que tu problema :-)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:59.