MySQL:在LIKE上加入两个表

时间:2010-10-14 16:34:52

标签: sql mysql join

我有一个包含文本的列的表,我想选择所有表,其中第二个表中的一行中的文本出现在该行中。这是一个伪查询:

SELECT title FROM recipes AS r 
   JOIN ingredients AS i 
   ON r.ingredients LIKE '%' + i.name + '%';

然而,上述查询不起作用。我该如何正确地做到这一点?

2 个答案:

答案 0 :(得分:3)

SELECT title
FROM recipes r JOIN ingredients i ON r.ingredients LIKE concat('%', i.name, '%')

MySQL很奇怪,让你使用concat运算符将字符串连接在一起。大多数其他人使用||

答案 1 :(得分:2)

您无法使用+运算符连接字符串(仅限算术运算)。请改用concat('%',i.name,'%')