一个名为keywords
的关键字列。另一个包含列域的表domains
。我想检查表keywords
中是否有任何关键字出现在域中?
如何去做?我想使用like
运算符进行比较。我试过这个查询
SELECT domain
FROM domains, keywords
WHERE keyword like concat('%',domain,'%')
但我总是空洞的。例如,我有一个keyowrd shop
和一个名为'www.dailyshop.com'的域名。现在商店在所述域内。所以'www.dailyshop.com'应该显示在查询结果中。请帮忙
答案 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 |
+-------------------------------------------------+