Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL匹配查询两个表_Mysql_Join_Match_Against - Fatal编程技术网

MYSQL匹配查询两个表

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

是否可以使用联接对具有两个表的查询进行匹配?棘手的部分可能是表上的索引,但也许有一种方法。。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 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中不起作用。我得到了不正确的参数来匹配错误。所有匹配列必须在同一个表中: