MYSQL 语法连接

标签 mysql join syntax

我有两张 table 。一是元素。第二个是按类别分类的项目(catitems)。两个表都有一个用户字段。

我需要一个查询,该查询按用户在第一个表(items)中选择所有项目,但排除第二个表(catitem)中分配给给定类别的那些项目。换句话说,我从第一个表中获取了用户的项目列表,但如果第二个表中有一行包含项目、猫和用户,我会排除该项目。

从原理上讲,这类似于从 userid=1 的项目中选择项目,但排除 WHERE 项目(在第二个表中)(cat =“something”AND userid=1。)

我已尝试以下操作,但它并不排除表 2 中出现的项目。我做错了什么?

$sql = "SELECT i.*
FROM `items` i
LEFT JOIN `catitems` c
ON i.userid = c.userid
WHERE (c.userid = '$userid' && c.tcircle != '$cat')";

最佳答案

第一:

$sql = "SELECT i.*
FROM `items` i
LEFT JOIN `catitems` c
ON i.userid = c.userid
WHERE c.userid = '$userid'
AND c.tcircle != '$cat'";

第二个: 。解决方案: .

关于MYSQL 语法连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10385220/

相关文章:

mysql - 连接2个涉及同一个表的sql查询,我需要取回id

php - 存储长文本片段

loops - 是否可以在 Crystal 中进行单行循环?

mysql查询酒店空房情况(不计算总价)

php - 调用扩展类方法问题

php - JOIN - 选择具有不同于 COUNT 标准的列/详细信息

php - MySQL连接2个表但重命名列,因为它们具有相同的名称

mysql JOIN 当一张表没有条目时

c++ - 为什么 "class"中有 "template <class x>"?

objective-c - 如何将一个 block 作为参数传递给 Objective C 中的另一个 block