数据库MYSQL,例表为金融行业业务评级情况(要求业务评级不中断),字段如下:

数据库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 评级到期日 < 评级起始日期

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

没看明白,是评级日期要覆盖所有日期吗