下面,我有一个SQL select语句,但是我遇到了一些问题,其中一个条件被选中。有没有其他方法可以安排这个陈述,以便获得条件?
条件未被提起:
(NSTR_UI_OBJ.dte_ui_obj_end is NULL or (NSTR_UI_OBJ.dte_ui_obj_end >= '2015-10-01 00:00:00'))
完整陈述:
SELECT NSTR_UI_OBJ.NAM_UI_OBJ
,CDE_UI_OBJ_TYP
,DES_UI_OBJ_LNG
,NVL(NSTR_UI_OBJ_CNTC.CDE_NSTR_CNTC_TYP,'')
,NVL(NSTR_CNTC_COMM.TXT_COMM_VALUE,'')
FROM NSTR_UI_OBJ
LEFT OUTER JOIN NSTR_UI_OBJ_CNTC ON NSTR_UI_OBJ_CNTC.ID_UI_OBJ = NSTR_UI_OBJ.ID_UI_OBJ
AND (NSTR_UI_OBJ.dte_ui_obj_end is NULL
or (NSTR_UI_OBJ.dte_ui_obj_end >= '2015-10-01 00:00:00')
)
LEFT OUTER JOIN NSTR_CNTC_COMM ON NSTR_UI_OBJ_CNTC.ID_NSTR_CNTC = NSTR_CNTC_COMM.ID_NSTR_CNTC
ORDER BY CDE_UI_OBJ_TYP,NSTR_UI_OBJ.NAM_UI_OBJ
答案 0 :(得分:1)
将条件放在WHERE
子句
SELECT NSTR_UI_OBJ.NAM_UI_OBJ, CDE_UI_OBJ_TYP, DES_UI_OBJ_LNG, NVL(NSTR_UI_OBJ_CNTC.CDE_NSTR_CNTC_TYP, ''), NVL(NSTR_CNTC_COMM.TXT_COMM_VALUE, '')
FROM NSTR_UI_OBJ
LEFT OUTER JOIN NSTR_UI_OBJ_CNTC ON NSTR_UI_OBJ_CNTC.ID_UI_OBJ = NSTR_UI_OBJ.ID_UI_OBJ
LEFT OUTER JOIN NSTR_CNTC_COMM ON NSTR_UI_OBJ_CNTC.ID_NSTR_CNTC = NSTR_CNTC_COMM.ID_NSTR_CNTC
WHERE NSTR_UI_OBJ.dte_ui_obj_end IS NULL
OR (NSTR_UI_OBJ.dte_ui_obj_end >= '2015-10-01 00:00:00')
ORDER BY CDE_UI_OBJ_TYP, NSTR_UI_OBJ.NAM_UI_OBJ