Power BI基于日期范围连接表:单条注册匹配多个日期
表连接解决方案:基于日期范围匹配
- 核心逻辑:通过
BETWEEN运算符判断表A的Weekending日期是否落在表B的Start与End日期范围内,以此作为连接条件关联两表。
内连接(仅保留匹配成功的行)
如果只需要两表中满足日期范围条件的交集数据,使用内连接:
SELECT a.*, b.* FROM 表A a INNER JOIN 表B b ON a.Weekending BETWEEN b.Start AND b.End;
左连接(保留表A所有行,匹配不到的表B字段显示为NULL)
如果需要保留表A的全部数据,同时关联表B中符合条件的数据,使用左连接:
SELECT a.*, b.* FROM 表A a LEFT JOIN 表B b ON a.Weekending BETWEEN b.Start AND b.End;
日期格式兼容处理
如果表中日期字段存在格式差异(如带时间戳的datetime类型),可通过类型转换确保匹配准确性:
SELECT a.*, b.* FROM 表A a JOIN 表B b ON CAST(a.Weekending AS DATE) BETWEEN CAST(b.Start AS DATE) AND CAST(b.End AS DATE);
内容的提问来源于stack exchange,提问作者Koutsa Koutsa
相关产品推荐
相关产品推荐

