Ver Mensaje Individual
  #1  
Antiguo 21-04-2015
tiqui_loquito tiqui_loquito is offline
Miembro
 
Registrado: oct 2013
Posts: 56
Reputación: 11
tiqui_loquito Va por buen camino
Como hacer la siguiente consulta

Hola a todos

Les voy a contar lo que hace la consulta:

Por ejemplo, tengo en en una base de datos en el campo FECHA_PROBABLE_PARTO los siguientes datos
ID_NORMA_4505 FECHA_PROBABLE_PARTO
1 01/01/1800
2 01/01/1800
3 01/01/1845
4 01/01/1800
5 01/01/2015
6 01/01/1800
7 01/01/1845

En la tabla se guardan los siguientes tres valores: 01/01/1800, 01/01/1845 o la fecha en que se haya hecho una consulta de parto

La consulta siguiente me traería el valor 01/01/1845 que corresponde al ID_NORMA_4505 = 7

Código SQL [-]
      FPP=NULL;
      SELECT FIRST(1) TBL_NORMA_4505.FECHA_PROBABLE_PARTO
      FROM TBL_NORMA_4505
      WHERE TBL_NORMA_4505.FECHA_PROBABLE_PARTO <> '1800-01-01'
      AND TBL_NORMA_4505.FECHA_REGISTRO>=:FECHA_INICIAL AND TBL_NORMA_4505.FECHA_REGISTRO<=:FECHA_FINAL
      AND TBL_NORMA_4505.ID_PACIENTE=:ID_PACIENTE
      ORDER BY TBL_NORMA_4505.ID_NORMA_4505 DESC
      INTO
      :FPP;
      IF ((FPP IS NULL)) THEN FPP = '1845-01-01';

Hasta ahí todo bien. Pero me han solicitado lo siguiente condición en el where

Código SQL [-]
     SELECT FIRST(1) TBL_NORMA_4505.FECHA_PROBABLE_PARTO
      FROM TBL_NORMA_4505
     -- WHERE TBL_NORMA_4505.FECHA_PROBABLE_PARTO <> '1800-01-01' 

/*Debo reemplazar el where por las siguienets tres condiciones, en el orden en que estan */

WHERE FECHA_PROBABLE_PARTO <> de 01/01/1800 y <> de 01/01/1845 /*Si no hay datos pase la otra condición*/
WHERE FECHA_PROBABLE_PARTO  <> de 01/01/1800  /*Si no hay datos pase la otra condición*/ 
WHERE FECHA_PROBABLE_PARTO  <>  01/01/1800 


      AND TBL_NORMA_4505.FECHA_REGISTRO>=:FECHA_INICIAL AND TBL_NORMA_4505.FECHA_REGISTRO<=:FECHA_FINAL
      AND TBL_NORMA_4505.ID_PACIENTE=:ID_PACIENTE
      ORDER BY TBL_NORMA_4505.ID_NORMA_4505 DESC
      INTO
      :FPP;
      IF ((FPP IS NULL)) THEN FPP = '1845-01-01';


Hay alguna forma de hacerlo?

La verdad no se como hacerlo, se los agradecería mucho
Responder Con Cita