数据库MYSQL,例表为金融行业业务评级情况(要求业务评级不中断),字段如下:
date20230101
| 报告期 |客户名称 |评级起始日期 | 评级到期日 |
| 2023/01/01 | 客户1 | 2023/01/01| 2023/05/05 |
| 2023/01/01 | 客户2 | 2023/02/03 | 2023/05/06 |
| 2023/01/01 | 客户3 |2023/03/04| 2023/07/08 |
date20230305
| 报告期 |客户名称 |评级起始日期 | 评级到期日 |
| 2023/03/05 | 客户1 | 2023/01/01| 2023/05/05 |
| 2023/03/05 | 客户2 | 2023/02/03 | 2023/05/06 |
| 2023/03/05 | 客户3 |2023/03/04| 2023/07/08 |
如果每日生成一张表格,假设有100张如上述所示的表格,如何筛选出评级断档(评级的到期日小于评级起始日)的客户?
100张表除了用union all做拼接,我想不到更好的方法
SELECT 报告期, 客户名称, 评级起始日期, 评级到期日
FROM (
SELECT 报告期, 客户名称, 评级起始日期, 评级到期日
FROM 表名1
UNION ALL
SELECT 报告期, 客户名称, 评级起始日期, 评级到期日
FROM 表名2
UNION ALL
...
SELECT 报告期, 客户名称, 评级起始日期, 评级到期日
FROM 表名100
) AS 合并表格
WHERE 评级到期日 < 评级起始日期
【相关推荐】
没看明白,是评级日期要覆盖所有日期吗