SQL:查找最近有效的规则

时间:2018-09-10 17:57:39

标签: sql oracle

我有一个带有生效日期的规则表,这些规则适用于特定的雇员类型。我想找到每种员工类型最近的有效规则。

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,命令未正确结束。

据我所知,我正在遵循所写的建议。我需要对这项技术进行一些小的更改吗?或者是一种不同的查询技术,它可以为每种员工类型获取最新有效的规则?

0 个答案:

没有答案