我正在使用下面的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;
请告诉我这是什么问题。
答案 0 :(得分: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
,因为这不会做任何事情