mysql - 将相交从 Oracle 转换为 MySQL

标签 mysql oracle

您好,我正在尝试将以下内容从 oracle 转换为 Mysql,因为 Mysql 不支持使用 INTERSECT with 的结果。我尝试过多次加入,但仍然没有运气。甲骨文查询:

select DISTINCT company_name from employee
inner join works on
works.Lastname=employee.Lastname AND
works.Firstname=employee.Firstname AND
works.MidInitial=employee.MidInitial
where employee.city='New York'
INTERSECT
select DISTINCT company_name from employee
inner join works on
works.Lastname=employee.Lastname AND
works.Firstname=employee.Firstname AND
works.MidInitial=employee.MidInitial
where employee.city='Seattle'

谢谢!

最佳答案

在您的情况下(所有行都是唯一的),以下方法应该有效:

SELECT x.company_name FROM
(select DISTINCT company_name from employee
 inner join works on
 works.Lastname=employee.Lastname AND
 works.Firstname=employee.Firstname AND
 works.MidInitial=employee.MidInitial
 where employee.city='New York') x
INNER JOIN
(select DISTINCT company_name from employee
 inner join works on
 works.Lastname=employee.Lastname AND
 works.Firstname=employee.Firstname AND
 works.MidInitial=employee.MidInitial
 where employee.city='Seattle') y
USING (company_name)

关于mysql - 将相交从 Oracle 转换为 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31332515/

相关文章:

mysql - AspNet EF 引用字段的外键

mysql - SQL - 使用 COUNT 查询时出现问题

sql - (Oracle) 将日期字符串转换为日期时间

php - 迪尔德 : lazy symbol binding failed for php oic8 on Apple M1

java - 中止插入...选择子句

mysql - 有效或无效的 GROUP BY 查询

mysql - 使用shell命令将MySQL数据库远程备份到本地机器

php - 在无限滚动中使用 AJAX 和 PHP 从表中获取结果?

sql - SELECT * FROM Employees WHERE NULL IS NULL; SELECT * FROM 员工 WHERE NULL = NULL;

sql - ORA-00972 : Identifier is too long