以下是我的陈述(语法错误);
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/