我有一个带有生效日期的规则表,这些规则适用于特定的雇员类型。我想找到每种员工类型最近的有效规则。
One technique that was suggested是要执行自联接,以便首先执行分组和选择,然后执行找到选定规则的正确查询。
我拥有的SQL如下:
SELECT dtr.employee_type
,dtr.start_time
,dtr.end_time
FROM (
SELECT MAX(effective_date) AS maxdate
,employee_type
FROM default_time_rules
GROUP BY employee_type
) AS grouped_dtr
INNER JOIN default_time_rules AS dtr ON dtr.employee_type = grouped_dtr.employee_type
AND dtr.effective_date = grouped_dtr.maxdate;
但是这给了我ORA-00933,命令未正确结束。
据我所知,我正在遵循所写的建议。我需要对这项技术进行一些小的更改吗?或者是一种不同的查询技术,它可以为每种员工类型获取最新有效的规则?