表Date_User有一列RUNDATE1,它存储日期(例如 - 2016-01-01)。可以根据用户请求更改此日期。
我正在编写下面的查询,它正在抛出错误:
Select A.NAME, B.DEPT_NAME, B.START_DATE, B.END_DATE
FROM TABLE A LEFT OUTER JOIN
TABLE B
ON A.DEPT_ID = B.DEPT_ID AND
DATE_USER.RUNDATE1 BETWEEN B.START_DATE AND B.END_DATE;
上面的查询是抛出错误,因为表Date_User在左外连接中没有使用。
有人可以建议如何修改查询。
注意:这只是示例查询;原始查询有10个左外连接,需要相似类型的日期条件。
答案 0 :(得分:0)
如果DATE_USER既不是TABLE A也不是表B,那么你需要对它进行额外的JOIN。
答案 1 :(得分:0)
您可以尝试:
Select A.NAME, B.DEPT_NAME, B.START_DATE, B.END_DATE
FROM TABLE A LEFT OUTER JOIN
TABLE B
ON A.DEPT_ID = B.DEPT_ID AND
LEFT JOIN DATE_USER ON 1 = 1 AND
DATE_USER.RUNDATE1 BETWEEN B.START_DATE AND B.END_DATE;