【发布时间】:2015-01-30 07:05:06
【问题描述】:
为什么关联的子查询结果不能用于外部查询?
在下面的查询中,我想在外部查询中访问内部关联查询中的计数。但它给出了错误。
我做错了什么?
参考 - http://sqlzoo.net/wiki/More_JOIN_operations#Looking_at_the_id_field.
问题- 14(按字母顺序获取至少担任过 30 个主演角色的演员名单。)
select distinct a.name , t.count
from actor a
join casting c
on (a.id= c.actorid)
where 25< (select count(movieid) as count
from casting c1
where c1.actorid= a.id) as t
order by a.name
以下查询工作正常。
select distinct a.name, (select count(movieid) as count
from casting c1
where c1.actorid= a.id)
from actor a
join casting c
on (a.id= c.actorid)
【问题讨论】:
-
你知道你可以在没有子查询的情况下做到这一点,对吧?另外,你得到什么错误?我无法在此处重现该问题:sqlfiddle.com/#!4/4e7be/1
-
@shree.pat18 更新了查询。
-
WHERE子句中引用的子查询,在外部SELECT处失去作用域
标签: sql oracle correlated-subquery