1

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

怎么办?我想使用like运算符进行比较。我试过这个查询

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

但我总是得到空集。例如,我有一个关键字shop和一个名为“www.dailyshop.com”的域。现在商店在上述域内。所以“www.dailyshop.com”应该显示在查询结果中。请帮忙

4

1 回答 1

3

您需要交换搜索列。请参阅模式匹配

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

例如

SELECT 'www.dailyshop.com' LIKE CONCAT('%','shop','%');
+-------------------------------------------------+
| 'www.dailyshop.com' LIKE CONCAT('%','shop','%') |
+-------------------------------------------------+
|                                               1 |
+-------------------------------------------------+
于 2012-08-27T13:21:14.500 回答