如何解决在带有不同列的MySQL中搜索2个表,尝试左连接-获取语法错误?
| 以下是我的声明(即出现语法错误);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.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\')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。