MYSQL匹配查询两个表
是否可以使用联接对具有两个表的查询进行匹配?棘手的部分可能是表上的索引,但也许有一种方法。。sql不是我的强项。非常感谢。我想可能是这样的:MYSQL匹配查询两个表,mysql,join,match,against,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') 非常感谢这是可能的,但您需要有文本索引 mysql> alter table pages ad
SELECT * FROM 'pages' p
LEFT JOIN `tags` t
ON p.id = u.pageid
WHERE MATCH(p.shdescript,t.tag) AGAINST ('romance, relationship')
非常感谢这是可能的,但您需要有文本索引
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表支持全文索引
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> 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表支持全文索引
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')
从这两个问题中,我发现你不能使用join,但必须使用union。你知道这是否正确吗?事实上,对不同问题的可能重复可能更有用。从这两个问题中,我发现你不能使用join,但必须使用union。你知道这是否正确吗?这在MySQL 8中不起作用。我得到了不正确的参数来匹配错误。所有匹配列必须在同一个表中:这在MySQL 8中不起作用。我得到了不正确的参数来匹配错误。所有匹配列必须在同一个表中: