MYSQL匹配查询两个表

时间:2012-05-30 19:47:06

标签: mysql join match against

是否可以使用连接对两个表的查询进行匹配?棘手的部分可能是桌上的索引,但也许有一种方式.. sql不是我的强项。非常感谢。我想它可能类似于以下内容:

SELECT * FROM 'pages' p
LEFT JOIN `tags` t
ON p.id = u.pageid
WHERE MATCH(p.shdescript,t.tag) AGAINST ('romance, relationship')

非常感谢

1 个答案:

答案 0 :(得分:3)

这是可能的,但你需要有文本索引。

mysql> alter table pages add fulltext index_text(shdescript);

mysql> alter table tags add fulltext index_text(tag);

SELECT * FROM 'pages' p
LEFT JOIN `tags` t
ON p.id = u.pageid
WHERE MATCH(p.shdescript,t.tag) AGAINST ('romance relationship')

我想这就足够了。

编辑:

从MySQL 5.6开始,上述全文搜索可以在MyISAM& InnoDB存储引擎。在早期的MySQL版本中,只有MyISAM表支持全文索引。

http://dev.mysql.com/doc/refman/5.6/en/fulltext-search.html