Mysql LIKE%...%与表

时间:2018-12-28 09:26:40

标签: mysql

我有2张桌子,上面有电话号码。 在表A中,我必须删除不在表B中的所有电话号码。

在表B中,电话号码带有conterycode,但是在表A中,它们没有conterycode。

为此,我尝试使用类似于LIKE%Phonenumber%

的命令

我已经尝试过这段代码,但这给了我一个语法错误

DELETE FROM temp_table
WHERE NOT EXISTS (
    SELECT *
    FROM TableB
    WHERE WorkTelephoneNumber LIKE temp_table.%PhoneNumber%
);

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%PhoneNumber%
)' at line 5 

2 个答案:

答案 0 :(得分:2)

您可以在下面尝试-

2018-12-28 00:00:00
2018-12-28 10:26:50

答案 1 :(得分:1)

子查询将非常慢。您可以改用join

Delete t1 from temp_table t1 
join TableB on tableB.WorkTelephoneNumber like concat('%',t1.PhoneNumber,'%')