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

[SOLUCIONADO] Mostrar solo registros que cumplen condición

Estas en el tema de Mostrar solo registros que cumplen condición en el foro de Oracle en Foros del Web. Buenos días; tengo esta consulta que me traer los valores de consumo de un producto para el último y penúltimo consumo registrado, es decir, dos ...
  #1 (permalink)  
Antiguo 26/04/2019, 07:33
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 6 años, 11 meses
Puntos: 4
Mensaje Mostrar solo registros que cumplen condición

Buenos días;

tengo esta consulta que me traer los valores de consumo de un producto para el último y penúltimo consumo registrado, es decir, dos registros por producto, ejemplo:

producto 123 / consumo 2019-4 1000 mts / consumo 2019-3 980 mts

sin embargo, necesito que al menos uno de los dos registros contenga el año actual, es decir, el campo prfaano, si alguno de los dos campos no tiene el año actual, desechar el producto para el reporte, me pueden orientar como hacerlo por favor,

Si pongo en la clausula donde prfaano=2019 me puede omitir los registros que el penultimo consumo correspondio al año pasado , por ejemplo, producto 1234 tiene el último consumo de enero de 2019 y el penultimo de diciembre de 2018, en este caso No lo puedo omitir porque es completamente válido para mi reporte.

estoy

Código SQL:
Ver original
  1. SELECT * FROM
  2.  (
  3.     SELECT
  4.     sesu,(leto-lean), ROW_NUMBER() OVER (partition BY sesu ORDER BY pefa DESC) fila, prfacicl,prfaano,prfames,GE_GEOGRA_LOCATION.description localidad,pefa
  5.     FROM lect,perifact,pr_product,AB_ADDRESS,GE_GEOGRA_LOCATION
  6.     WHERE pefa=prfacodi AND sesu=pr_product.product_id AND PR_PRODUCT.ADDRESS_ID = AB_ADDRESS.ADDRESS_ID
  7.     AND GE_GEOGRA_LOCATION.geograp_location_id=AB_ADDRESS.geograp_location_id
  8.     AND prfacicl=:ID
  9.     AND oble NOT IN (53)
  10.   ) t1
  11.  WHERE fila<3;
  #2 (permalink)  
Antiguo 26/04/2019, 07:50
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 6 años, 11 meses
Puntos: 4
Respuesta: Mostrar solo registros que cumplen condición

Lo solucioné así...

WHERE fila<3 (fila=1 or fila=2) and prfaano=2019;



La zona horaria es GMT -6. Ahora son las 00:41.