MySQL 用左连接替换减号
MySQL replace minus with left join
我正在努力从 Oracle 迁移到 MySQL,目前坚持使用 MINUS 操作转换查询。我知道,我必须使用左连接,但不知何故我的查询并没有像在 Oracle 中那样给出准确的行。查询非常简单 with select on views "V_*".
在 Oracle 上:
select s.section, c.title from course c, v_staff_active s
minus
select section,title from v_rep_attended_by_section
在 Mysql 上,我将其转换如下:
select * from
( select s.section, c.title from course c, v_staff_active s) x
left join
( select section,title from v_rep_attended_by_section) y on x.section = y.section
where y.section is null;
但没有得到确切的结果或记录数。
你能帮帮我吗,因为我是 MySQL.
的新手
提前致谢。
您的查询应如下所示:
select s.section, c.title
from course c
left join v_staff_active s on c.section = s.section
and c.title = s.title
where s.section is null and s.title is null;
我正在努力从 Oracle 迁移到 MySQL,目前坚持使用 MINUS 操作转换查询。我知道,我必须使用左连接,但不知何故我的查询并没有像在 Oracle 中那样给出准确的行。查询非常简单 with select on views "V_*".
在 Oracle 上:
select s.section, c.title from course c, v_staff_active s
minus
select section,title from v_rep_attended_by_section
在 Mysql 上,我将其转换如下:
select * from
( select s.section, c.title from course c, v_staff_active s) x
left join
( select section,title from v_rep_attended_by_section) y on x.section = y.section
where y.section is null;
但没有得到确切的结果或记录数。 你能帮帮我吗,因为我是 MySQL.
的新手提前致谢。
您的查询应如下所示:
select s.section, c.title
from course c
left join v_staff_active s on c.section = s.section
and c.title = s.title
where s.section is null and s.title is null;