我在MySQL中的所有表如下所示。
+---------+-------------+---------------+
|项目编号项目名称项目位置|
+---------+-------------+---------------+
|ITM145 |笔记本电脑|美国|
|ITM146 |摄像机|美国|
|ITM147 | cd |美国|
|ITM148 |电话|美国|
|ITM149 | cd |法国|
|ITM150 |电话|法国|
+---------+-------------+---------------+
最后两个项目的位置是法国,我在美国有相同的项目,我希望查询返回我如下排除法国位置相同的值。
+---------+-------------+---------------+
|项目编号项目名称项目位置|
+---------+-------------+---------------+
|ITM145 |笔记本电脑|美国|
|ITM146 |摄像机|美国|
+---------+-------------+---------------+
第一次尝试
从表中选择*
物品所在地!='法国'
按项目名称分组
失败
第二次尝试
从表中选择*
项目所在地不在('法国')
按项目名称分组

最佳答案

尝试使用<>操作符(这是为了省略'France')

SELECT * FROM table
WHERE item_location <> 'France'
GROUP BY item_name

但是如果你想得到你的结果
SELECT * FROM table
WHERE item_location <> 'France' AND item_name IN ('laptop','camera')
GROUP BY item_name

若要获取法国排除项名称的结果,可以尝试以下操作
SELECT * FROM table
WHERE item_location <> 'France' AND item_name NOT IN (Select item_name FROM
table where item_location = 'France')
GROUP BY item_name

09-27 00:32