我想找到上个季度未备案的公司记录,但我希望提供30天的宽限期。从2018年10月30日起,不应获取company_seq。我无法执行宽限期部分。有人可以帮我吗?
还有更多要考虑的事情是,如果上一个季度(即第二季度)的备案没有完成,则应提取公司顺序
样本数据
Company_seq YEAR QUARTER
1 2018 2
1 2018 3
2 2018 2
2 2018 1
3 2018 1
Company_SEQ COMPANY_NAME
1 Company 1
2 Company2
3 Company3
SELECT * FROM COMPANY
WHERE company_seq NOT IN
(SELECT DISTINCT company_seq
FROM Filing F
WHERE YEAR = (SELECT TO_CHAR(add_months(sysdate,-3),'YYYY') from dual)
AND quarter=(SELECT TO_CHAR(add_months(sysdate,-3),'Q') from dual)
预期的查询输出:
3, Company3
答案 0 :(得分:0)
我尝试了以下查询,但确实有效
SELECT * FROM Temp_Company_Neha
WHERE company_seq NOT IN(
SELECT DISTINCT company_seq FROM Temp_Neha dehp
WHERE YEAR = (SELECT TO_CHAR(add_months(sysdate,-3),'YYYY') from dual)
AND quarter=(SELECT TO_CHAR(add_months(sysdate - 30,-3),'Q') from dual));
答案 1 :(得分:-1)
我在想这样的事情:
select c.company_seq
from company c
group by c.company_seq
having add_months(max(add_months(to_date(year || '0101', 'YYYYMMDD'), 3 * c.quarter)), 1) < sysdate
内部add_months()
将年份/季度转换为下一个季度的开始。外部add_months()
是宽限期。