1

以下のSQL文を使用していますが、実行しようとするとエラーが発生します

0ra:00907 Missing right paranthesis

エラー。以下は私の質問です。

SELECT DISTINCT b.PROT_NBR, mc.ISO_3_CHAR_CNTRY_CD, c.SITE_NUM, Min(d.X_ATTRIB_118)
   , CASE 
      WHEN d.X_ATTRIB_130 IS NULL
         THEN Min(d.ATTRIB_31)
      ELSE CASE 
            WHEN (
                  d.X_ATTRIB_130 IS NOT NULL
                  AND d.ATTRIB_31 IS NOT NULL
                  )
               THEN CASE 
                     WHEN To_Char(d.X_ATTRIB_130, ’mm / dd / yy’) > To_Char(d.ATTRIB_31, ’mm / dd / yy’)
                        THEN Max(d.X_ATTRIB_130)
                     ELSE Max(d.ATTRIB_31)
                     END
            ELSE NULLS
            END
      END Approval_Date
FROM CTMS_S_DS_PTCL_CNTRY a
   , CLINICAL_STUDY b
   , MDM_COUNTRY_MASTER mc
   , CTMS_S_DS_PTCL_SITE c
   , CTMS_S_DS_PTCL_REGLTRY d
WHERE a.DELETED_FLG = 'N'
   AND a.PTCL_STAT_CD IN ('Enrolling', 'Closed To Enrollment', 'Closed Follow Up'
      , 'In Analysis', 'Discontinued', 'Completed', 'In Development'
      , 'Open To Enrollment', 'Planning'
      )
   AND b.ods_src_sys_id = 13
   AND b.DEL_FLG = 0
   AND c.DELETED_FLG = 'N'
   AND c.SITE_NUM IS NOT NULL
   AND c.Status_CD IN (
      'Enrollment Open'
      , 'Intrested'
      , 'Regulatory Green Light'
      , 'Essential Documents in place'
      , 'Approved for SSV'
      , 'Intrested'
      , 'Contacted'
      , 'Pre Selected'
      , 'Contacted'
      , 'Selected'
      , 'Ready For Initiation'
      , 'Enrollment Closed'
      , 'Initiated'
      , 'Enrollment On-Hold'
      , 'Targeted'
      , 'Closed'
      )
   AND d.X_QNT_SUB_REQ IN ("'Ethics Central/IRB Submission'")
   AND d.DELETED_FLG = 'N'
   AND b.PROJ_ID = a.PAR_PTCL_ID
   AND mc.CNTRY_NM = a.REGION_CD
   AND a.SBL_ROW_ID = C.PTCL_RGN_ID
   AND c.SBL_ROW_ID = d.CL_PTCL_ST_ID
GROUP BY b.PROT_NBR
   , mc.ISO_3_CHAR_CNTRY_CD
   , c.SITE_NUM
   , d.X_ATTRIB_130
   , d.ATTRIB_31;

何が問題なのか教えてください。

4

1 に答える 1

2

あなたの見積もりに問題があるように私には見えます。

行については、次のAND d.X_QNT_SUB_REQ IN ("'Ethics Central/IRB Submission'") ように記述します。

AND d.X_QNT_SUB_REQ IN ('Ethics Central/IRB Submission')

さらに、次の行WHEN To_Char(d.X_ATTRIB_130, ’mm / dd / yy’) > To_Char(d.ATTRIB_31, ’mm / dd / yy’)に次のように記述します。

WHEN To_Char(d.X_ATTRIB_130, 'mm/dd/yy') > To_Char(d.ATTRIB_31, 'mm/dd/yy')

また、これは何もしないので、NULLではなく使用する必要がありますNULLS

于 2012-10-08T12:54:05.717 に答える