JOIN 条件无法正常工作

JOIN condition not works properly

我有 mariaDB 5.5.6 和这两个 tables

已拨电话

夏令时 调用日期
098XXXXXXX 2021-07-0509:11:58
098KKKKKKK 2021-07-0511:32:46
099RRRRRRRR 2021-07-0511:41:56

未接来电

源码 调用日期
99FFFFFFF 2021-07-0512:37:56
99TTTTTTT 2021-07-0516:51:09
99XXXXXXX 2021-07-0509:09:00

我想通过 dst = 到 src 条件通过请求获得此 tables 的 JOIN

select
    *
from
    missedcalls
    left join dialedcalls on
        missedcalls.src like concat('%',dialedcalls.dst);

但它对一排有效,对其他行无效。我该如何解决这个问题?

我想要table喜欢

源码 调用日期 夏令时 调用日期
99XXXXXXX 2021-07-0509:09:00 099XXXXXXX 2021-07-0509:11:58
99TTTTTTT 2021-07-0516:51:09
99FFFFFFF 2021-07-0512:37:56

感谢您的建议。

看来你只是想交换操作数。

SELECT *
       FROM missedcalls m
            LEFT JOIN dialedcalls d
                      ON d.dst LIKE concat('%', m.src);

db<>fiddle

这适用于给定的示例数据。但它可能会根据其余数据产生误报。

最好从一开始就以规范和格式存储您的数字,这样您就可以使用简单的相等运算。

我觉得你的措辞应该改成

dialedcalls.dst LIKE concat('%', missedcalls.src);