php - 在 MySQL 中搜索具有/不同列的 2 个表,尝试左连接 - 出现语法错误?

标签 php mysql sql full-text-search

以下是我的陈述(语法错误);

SELECT * FROM uploads AS U MATCH(U.title, U.description, U.filepath) AGAINST('ACTG 4160 -     
Advanced Financial Accounting new search' IN NATURAL LANGUAGE MODE) LEFT JOIN courses AS C  
ON U.Course_id = C.Id

基本上,我有 2 个表,一个有上传(我需要搜索它们的标题、描述和文件路径),第二个表有我也需要搜索它们的标题的所有类(class)。

我正在尝试对包含上述字段的上传表和标题字段上的类(class)表进行全文搜索。

我尝试了以下其他查询,但无济于事;

SELECT *, MATCH( U.title, U.description, U.filepath) AGAINST('ARTH 5180B asdfdsaf') 
FROM uploads AS U LEFT JOIN courses AS C ON U.Course_id = C.Id WHERE MATCH(C.title) 
AGAINST('ARTH 5180B asdfdsaf')

非常感谢!

最佳答案

在第一个查询中,正如 Marc B 提到的,MATCH 位于错误的位置。在第二个中,当您应该使用 AND 时,您似乎在 LEFT JOIN 中使用了 WHERE,即:

SELECT *, MATCH( U.title, U.description, U.filepath) AGAINST('ARTH 5180B asdfdsaf') 
FROM uploads AS U LEFT JOIN courses AS C 
                  ON U.Course_id = C.Id 
                  AND MATCH(C.title) AGAINST('ARTH 5180B asdfdsaf')

关于php - 在 MySQL 中搜索具有/不同列的 2 个表,尝试左连接 - 出现语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6143313/

相关文章:

php - Doctrine 2 - ManyToMany + IN 子句

php - 用于更快检索过程的适当数据结构(数据大小 : around 200, 000 值所有字符串)

mysql - 如何选择子集组的最小值和最大值

PHP MySQL 内连接问题

php - 剥离一个数字并每次减去最后一位数字返回它

PHP 不被 apache 解释

php - Doctrine - 数据包乱序

php - 问题插入行 MySQL,没有 MySQL 错误

sql - 表示关系代数中的子查询

mysql - 在表 SQL 中创建并打印计数