LIKE查询中的MySQL列值

时间:2013-07-13 18:53:05

标签: mysql

我在数据库中有两个表。

两者都包含相关的ID,但格式不同:

table1.field = 123456-12-34
table2.id = 123456

我想做的是join

上的table1.id = table2.field

所以查询如下:

select name from 
    table1 left join table2 on table1.field like table2-%
    where table2.flag='1' and DATEDIFF( now(), table1.timestamp ) > 2

我知道这不正确,但我如何在相关但不相同的字段上加入两个表?

1 个答案:

答案 0 :(得分:3)

您想使用concat()创建模式字符串:

select name
from table1 left join
     table2
     on table1.field like concat(table2.id, '-%')
where table2.flag='1' and DATEDIFF( now(), table1.timestamp ) > 2