mysql - MYSQL 编码中的 INTERSECT 不起作用

标签 mysql sql

我有一个名为 Orders 的表,其中包含 CUSTNUM、PRODNUM、DATE 和 QTY 列。

我正在尝试检索同时订购产品 3737 和产品 9193(特定值)的客户

所以我尝试了以下代码但没有成功:

SELECT CUSTNUM
FROM ORDERS
WHERE PRODNUM = 9193

INTERSECT

(SELECT CUSTNUM
FROM ORDERS
WHERE PRODNUM = 3737);

在进一步阅读此论坛后,我也尝试了以下方法:

SELECT DISTINCT CUSTNUM
FROM ORDERS
WHERE PRODNUM IN (
select PRODNUM FROM ORDERS WHERE PRODNUM = 3737
) AND PRODNUM IN (
Select PRODNUM FROM ORDERS WHERE PRODNUM = 2357
);

尽管我们的教科书中包含了 INTERSECT 运算符,但它似乎不起作用。

我也咨询过INTERSECT in MySQL

最佳答案

MySQL 支持 UNION [ALL],但不支持 MINUS/EXCEPT 和 INTERSECT。

select    custnum            
from      orders    
where     prodnum in (3737,9193)    
group by  custnum       
having    count(distinct prodnum) = 2

select    custnum            
from      orders    
where     prodnum in (3737,9193)    
group by  custnum       
having    min(prodnum) = 3737
      and max(prodnum) = 9193

关于mysql - MYSQL 编码中的 INTERSECT 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41342911/

相关文章:

php - 使用PHP在mysql中插入数据时返回最后一个id

mysql - 黑名单/白名单表设计

sql - 将内容从遗留博客平台迁移到 wordpress

sql - 查找发展为更严重疾病的患者

java - 不使用存储过程检索多个结果集

sql - SQL Server 2005 如何在函数中声明表

mysql - Node.js 和express.js。如果用户发送 post 请求的速度足够快,则可以使用相同的数据注册两次

mysql - Rails 连接池如何工作?

mysql - 当 mysql 发生变化时调用 pusher

mysql - 如何从 $wpdb->get_results 函数中排除特定 ID