sql获取上一季度30天宽限期的记录

kmbjn2e3  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(317)

我想找到上个季度没有归档的公司记录,但我想给30天的宽限期。截至2018年10月30日止,不应提取该公司。我不能做宽限期部分。有人能帮我吗?
更需要考虑的是,如果上一个季度(即第二季度)没有完成备案,那么应该提取公司序列
样本数据

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
zzlelutf

zzlelutf1#

我是这样想的:

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() 是宽限期。

xurqigkl

xurqigkl2#

我尝试了下面的查询,它确实起了作用

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));

相关问题