SQL-EX练习37

时间:2018-06-29 16:08:18

标签: sql

练习37.查找数据库中仅包含一艘飞船的类(包括“结果”表)。这是我的查询:

select class from 
(
select classes.class
from classes left join ships on classes.class=ships.class
left join outcomes on classes.class=outcomes.ship
) as a
group by class having count(class)=1

这在第一个(可用)数据库上返回了正确的数据集,但在第二个检查数据库上返回了错误的数据集。

不确定为什么这是错误的,有人知道吗?

1 个答案:

答案 0 :(得分:0)

select class from
(
select distinct ship, class
from
(
select o.ship, o.ship as class from outcomes o
join Classes c on c.class=o.ship
union 
Select Name as ship, class
from
ships
)
A
)A
group by
class
having count(*)=1

这是正确的答案