繁体   English   中英

mysql查询中不能有两个where语句

[英]cant have two where statements in mysql query

我必须在数据库中搜索某些结果,这些结果在一个表中但不在另一表的特定列中。 我下面的查询是我到目前为止所拥有的。

    $sql = "SELECT * FROM users WHERE name LIKE '%".$_POST["search"]."%' AND NOT IN 
(SELECT friend FROM friends WHERE user='{$user_name}')";  

如您所见,我有WHERE,然后声明必须搜索的第一项。 但是随后我添加了AND,因此我可以搜索方括号中的另一个表。

无需将格式更改很多的最佳方式是什么?

如果有人有任何疑问,请在下面发布。 因此,以后我可以提高我的问题质量,请在下面列出我可以改进的任何方式。

问题不在于使用两个WHERE子句,而是代替了编写:

... WHERE name LIKE '%xxx%' AND NOT IN (...) ...

你必须写:

... WHERE name LIKE '%xxx%' AND name NOT IN (...) ...
"SELECT * FROM users left join friends on users.name=friends.friend WHERE friends.friend IS NULL AND users.name LIKE '%".$_POST["search"]."%'"

暂无
暂无

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

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