SELECT YJ_YB01.YBBH,
GY_KSDM.KSDM,
GY_KSDM.KSMC,
YJ_YB01.SJYF,
YJ_YB01.YBZT,
YJ_YB01.SBSJ,
YJ_YB01.ZDGH,
YJ_YB01.TJGH
FROM YJ_YB01,GY_KSDM
WHERE YJ_YB01.KSDM(+) = GY_KSDM.KSDM AND ( YJ_YB01.SJYF>=:adt_start and YJ_YB01.SJYF<=:adt_end ) AND
GY_KSDM.YBSBSY=1
GY_KSDM.KSDM,
GY_KSDM.KSMC,
YJ_YB01.SJYF,
YJ_YB01.YBZT,
YJ_YB01.SBSJ,
YJ_YB01.ZDGH,
YJ_YB01.TJGH
FROM YJ_YB01,GY_KSDM
WHERE YJ_YB01.KSDM(+) = GY_KSDM.KSDM AND ( YJ_YB01.SJYF>=:adt_start and YJ_YB01.SJYF<=:adt_end ) AND
GY_KSDM.YBSBSY=1
SELECT YJ_YB01.YBBH,
GY_KSDM.KSDM,
GY_KSDM.KSMC,
YJ_YB01.SJYF,
YJ_YB01.YBZT,
YJ_YB01.SBSJ,
YJ_YB01.ZDGH,
YJ_YB01.TJGH
FROM YJ_YB01 right join GY_KSDM
ON YJ_YB01.KSDM = GY_KSDM.KSDM
WHERE ( YJ_YB01.SJYF>=:adt_start and YJ_YB01.SJYF<=:adt_end )
AND GY_KSDM.YBSBSY=1
会不会你本来就select不出数据啊
GY_KSDM.KSDM,
GY_KSDM.KSMC,
YJ_YB01.SJYF,
YJ_YB01.YBZT,
YJ_YB01.SBSJ,
YJ_YB01.ZDGH,
YJ_YB01.TJGH
FROM YJ_YB01,GY_KSDM
WHERE YJ_YB01.KSDM(+) = GY_KSDM.KSDM AND ( YJ_YB01.SJYF>=:adt_start and YJ_YB01.SJYF<=:adt_end ) AND
GY_KSDM.YBSBSY=1 YJ_YB01.KSDM(+) = GY_KSDM.KSDM
( YJ_YB01.SJYF>=:adt_start and YJ_YB01.SJYF<=:adt_end )
GY_KSDM.YBSBSY=1
这3个条件一个一个的去掉 ,看看是哪个出的问题,然后再分析原因
GY_KSDM.KSDM,
GY_KSDM.KSMC,
YJ_YB01.SJYF,
YJ_YB01.YBZT,
YJ_YB01.SBSJ,
YJ_YB01.ZDGH,
YJ_YB01.TJGH
FROM YJ_YB01,GY_KSDM
WHERE YJ_YB01.KSDM(+) = GY_KSDM.KSDM AND ( YJ_YB01.SJYF>=:adt_start and YJ_YB01.SJYF<=:adt_end ) AND
GY_KSDM.YBSBSY=1
:adt_start 和 :adt_end 用具体的值代替看看 有数据出来不?
(YJ_YB01.KSDM(+) = GY_KSDM.KSDM AND GY_KSDM.YBSBSY=1 ) or ( YJ_YB01.SJYF>=:adt_start and YJ_YB01.SJYF<=:adt_end )有数据就说明 我上的问题验证了