在两个表之间传输值,其中一个字段为%LIKE%另一个

时间:2018-05-25 22:07:10

标签: mysql sql-like

我正在尝试在两个表之间进行转移,其中一列是%LIKE%另一列。

在表格“juice”中,我有字段标题,brandid和id。

在“品牌”表中,我有id和title。

juice中的title字段将始终包含与品牌中标题的完全匹配 - 以及其他一些字符串。

所以我试图检查brands.title是否是%LIKE%juice.title,如果是的话,将brands.id放在juice.brandid字段中。

这就是我目前的情况:

INSERT INTO juice(brandid) 
SELECT id FROM brands 
WHERE title LIKE CONCAT('%', @juice.title, '%')

1 个答案:

答案 0 :(得分:0)

听起来更像是想要UPDATE而不是INSERT。看看

UPDATE juice
       SET brandid = (SELECT brands.id
                             FROM brands
                             WHERE brands.title LIKE concat('%', juice.title, '%');

适合你。请注意,这需要brands中只有一行匹配。如果更多行匹配,则需要另外定义哪一行是正确的。