繁体   English   中英

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

[英]Searching through 2 tables in MySQL w/ different columns, attempting a left join - getting syntax error?

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

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 张表,一张有上传(我需要搜索他们的标题、描述和文件路径),第二张表有我也需要搜索他们的标题的所有课程。

我正在尝试对带有上述字段的上传表和标题字段上的课程表进行全文搜索。

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

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')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM