1

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

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

非常感谢

4

1 回答 1

6

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

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

于 2012-05-30T20:29:25.560 回答