简体   繁体   English

匹配(…)反对后(…在布尔模式下),左联接不起作用

[英]LEFT JOIN not works after MATCH (…) AGAINST (… IN BOOLEAN MODE)

This query: 该查询:

$user_mail_all=mysql_query("SELECT * 
FROM `mailing` WHERE MATCH (resp) 
AGAINST ('$user_resp' IN BOOLEAN MODE) 
OR `cor`='$username' ORDER BY `id` DESC  LIMIT ".$start.",".$per_page )

is working well, but next query: 运行良好,但下一个查询:

$user_mail_all=mysql_query("SELECT * 
FROM `mailing`WHERE MATCH (resp) 
AGAINST ('$user_resp' IN BOOLEAN MODE) 
OR `cor`='$username' 
LEFT JOIN `mail_views` 
ON mailing.id=mail_views.lid 
AND mail_views.uid=".$_SESSION['uid']." 
ORDER BY `id` DESC  LIMIT ".$start.",".$per_page)

Results in an error: 导致错误:

You have an error in your SQL syntax; 您的SQL语法有误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN mail_views ON mailing.id=mail_views.lid AND mail_views.uid=12 ORDER ' at line 1 检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“ LEFT JOIN mail_views ON mailing.id = mail_views.lid AND mail_views.uid = 12 ORDER”附近使用

Why? 为什么?

First JOIN then MATCH 首先加入然后匹配

$user_mail_all=mysql_query("SELECT * 
FROM `mailing`
LEFT JOIN `mail_views` 
ON mailing.id=mail_views.lid 
WHERE MATCH (resp) 
AGAINST ('$user_resp' IN BOOLEAN MODE) 
OR `cor`='$username' 
AND mail_views.uid=".$_SESSION['uid']." 
ORDER BY `id` DESC  LIMIT ".$start.",".$per_page)

in your query implementation of left join is wrong...it should be: 在查询中左联接的实现是错误的...应该是:

select * from Table1 left join table2 where ..... 选择*从Table1 左连接 table2 ,其中...

so use this: 所以使用这个:

           $user_mail_all=
                mysql_query(
                             "SELECT * 
                                FROM `mailing`
                           LEFT JOIN `mail_views` 
                                 ON ( mailing.id=mail_views.lid 
                                     AND mail_views.uid=".$_SESSION['uid']".)
                              WHERE MATCH (resp) 
                                    AGAINST ('$user_resp' IN BOOLEAN MODE) 
                                 OR `cor`='$username'
                           ORDER BY `id` DESC  LIMIT ".$start.",".$per_page);

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

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