Mysql SQL获取具有30天宽限期的上一季度记录
我想找到上个季度没有存档的公司记录,但我想给30天的宽限期。截至2018年10月30日,不应提取该公司。我不能做宽限期部分。有人能帮我吗 更重要的是,如果上一季度没有备案,即第2季度,那么公司序列应该取回 样本数据Mysql SQL获取具有30天宽限期的上一季度记录,mysql,sql,oracle,plsql,Mysql,Sql,Oracle,Plsql,我想找到上个季度没有存档的公司记录,但我想给30天的宽限期。截至2018年10月30日,不应提取该公司。我不能做宽限期部分。有人能帮我吗 更重要的是,如果上一季度没有备案,即第2季度,那么公司序列应该取回 样本数据 Company_seq YEAR QUARTER 1 2018 2 1 2018 3 2 2018 2 2 2018 1 3 2018 1 Company
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
我是这样想的:
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
选择c.company\u seq
来自c公司
按c.公司分组
增加月数(最多(增加月数(截止日期:0101年,YYYYMMDD年),3*c.季度),1)
内部的
add_months()
将年度/季度转换为下一个季度的开始。外部的add_months()
是宽限期。我尝试了下面的查询,结果成功了
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));
MySQL还是Oracle数据库?两者都是不同的RDBMSORACLE数据库即使您能够使用MYSQL提供一些输入,我至少可以知道逻辑,所以我可以尝试一些方法以表格格式提供一些示例数据和预期输出。您的子查询缺少一个右括号。