如何使用类似的方法将表的一个字段与另一个表中的另一个字段进行比较

时间:2012-08-27 13:16:08

标签: mysql

一个名为keywords的关键字列。另一个包含列域的表domains。我想检查表keywords中是否有任何关键字出现在域中?

如何去做?我想使用like运算符进行比较。我试过这个查询

SELECT domain
FROM domains, keywords
WHERE keyword like concat('%',domain,'%')

但我总是空洞的。例如,我有一个keyowrd shop和一个名为'www.dailyshop.com'的域名。现在商店在所述域内。所以'www.dailyshop.com'应该显示在查询结果中。请帮忙

1 个答案:

答案 0 :(得分:3)

您需要交换搜索列。见Pattern Matching

SELECT domain
FROM domains, keywords
WHERE domain like concat('%',keyword,'%');

e.g。

SELECT 'www.dailyshop.com' LIKE CONCAT('%','shop','%');
+-------------------------------------------------+
| 'www.dailyshop.com' LIKE CONCAT('%','shop','%') |
+-------------------------------------------------+
|                                               1 |
+-------------------------------------------------+