mysql - 试图在 MySQL 中执行 MINUS 操作

标签 mysql

我正在尝试在 MySql 中执行 MINUS 操作。我有三个表:

  1. 一个包含服务详情
  2. 一张表,其中说明提供服务
  3. 另一个表格(基于邮政编码和州)显示了不提供此服务的地区。

我能够分别获得这两个选择查询的输出。但我需要一个组合语句,将输出作为 'SELECT query_1 - SELECT query_2'。

Service_Details 表 Service_Code(PK) 服务名称

Servicing_States 表 Service_Code(FK) State Country PK(Service_Code,State,Country)

异常表 Service_Code(FK) Zipcode State PK(Service_Code,Zipcode,State)

最佳答案

MySql 不识别MINUSINTERSECT,这些是基于Oracle 的操作。在 MySql 中,用户可以将 NOT IN 用作 MINUS(也有其他解决方案,但我非常喜欢它)。 示例:

select a.id 
from table1 as a 
where <condition> 
AND a.id NOT IN (select b.id 
                 from table2 as b 
                 where <condition>);

关于mysql - 试图在 MySQL 中执行 MINUS 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31397313/

相关文章:

mysql - sql: Char() 的反向函数

mysql - 同一列中多个值的连接语句,以逗号分隔

MySQL 从多个表中选择最近的消息

javascript - 为什么 date_format(? ,'%d-%b-%y' ) 在 Node 中失败?

php - SQL注入(inject)不起作用

MySQL删除语句报告Truncated incorrect datetime value

php - 检索特定 ID 一次

mysql BETWEEN 对字符的权利是独占的吗?

MySQL 查询基于其他表创建列

mysql - 我可以在 MySQL 中设置条件默认值吗?