Получить данные на основе указанной даты в оракуле - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть таблица, описание которой приведено ниже ..

ID                       NOT NULL NUMBER         
CMP                               NVARCHAR2(100) 
SAP_ID                            NVARCHAR2(100) 
ID_OD_COUNTCHANGE                 NVARCHAR2(100) 
ID_OD_CHANGEDDATE                 DATE           
RRH_COUNTCHANGE                   NVARCHAR2(100) 
RRH_CHANGEDDATE                   DATE           
TENANCY_COUNTCHANGE               NVARCHAR2(100) 
TENANCY_CHANGEDDATE               DATE           
RFS_DATE                          DATE           
RFE1_DATE                         DATE           
INFRA_PROVIDER                    NVARCHAR2(100) 
IP_COLO_SITEID                    NVARCHAR2(100) 
SITE_NAME                         NVARCHAR2(500) 
R4GSTATE                          NVARCHAR2(100) 
MW_INSTALLED                      NVARCHAR2(100) 
DG_NONDG                          NVARCHAR2(100) 
EB_NONEB                          NVARCHAR2(100) 
TOWER_TYPE                        NVARCHAR2(100) 
VENDOR_CODE                       NVARCHAR2(100) 
RFCDATE                           DATE           
POLITICAL_STATE_NAME              NVARCHAR2(100) 
POLITICAL_STATE_CODE              NVARCHAR2(100) 
SITE_DROP_DATE                    DATE           
CITY_NAME                         NVARCHAR2(100) 
NEID                              NVARCHAR2(100) 
FACILITY_LATITUDE                 NVARCHAR2(100) 
FACILITY_LONGITUDE                NVARCHAR2(100) 
RJ_STRUCTURE_TYPE                 NVARCHAR2(100) 
RJ_JC_NAME                        NVARCHAR2(100) 
RJ_JC_CODE                        NVARCHAR2(100) 
COMPANY_CODE                      NVARCHAR2(100) 
BLCHAIN_RESP_MSG_MASTER           NVARCHAR2(100) 
BLCHAIN_RESP_CODE_MASTER          NVARCHAR2(100) 
SITE_ADDRESS                      CLOB     

Теперь мое состояние, в котором я хочу получить данные, ниже.

RFS_DATE should be greater than or equal to RFE1_DATE TENANCY_CHANGEDDATE should be greater than or equal to RFS_DATE RRH_CHANGEDDATE should be greater than or equal to RFS_DATE ID_OD_CHANGEDDATE should be greater than or equal to RFS_DATE

Также ниже представлена ​​моя хранимая процедурав котором я хочу получить данные.

PROCEDURE GETENODEBDATA_BKC_INFO_INCREM
  (
    TBLDATA  OUT SYS_REFCURSOR
  )
 AS
BEGIN

      OPEN TBLDATA FOR   
      
        SELECT * FROM tbl_ipcolo_billing_mst where company_code is not null;
          

  END GETENODEBDATA_BKC_INFO_INCREM;  

Пожалуйста, помогите, как получить данные, применяя вышеуказанные условия.

Ответы [ 2 ]

1 голос
/ 23 сентября 2019

Кажется нормальным WHERE предложение с условием ANDed

SELECT * FROM tbl_ipcolo_billing_mst where company_code is not null
--
AND RFS_DATE >= REF1_DATE 
AND TENANCY_CHANGEDDATE >= RFS_DATE 
AND RRH_CHANGEDDATE >= RFS_DATE 
AND ID_OD_CHANGEDDATE >= RFS_DATE

Ура!

1 голос
/ 23 сентября 2019

Ваша логика подразумевает следующий запрос:

SELECT *
FROM tbl_ipcolo_billing_mst
WHERE
    company_code IS NOT NULL AND
    RFS_DATE >= RFE1_DATE AND
    TENANCY_CHANGEDDATE >= RFS_DATE AND
    RRH_CHANGEDDATE >= RFS_DATE AND
    ID_OD_CHANGEDDATE >= RFS_DATE;
...