相关子查询(Oracle)中无法识别表名

时间:2016-04-17 10:38:14

标签: sql oracle

SELECT t1.name
FROM title t1
WHERE t1.rating > 
(SELECT t2.rating FROM title t2 GROUP BY t2.genre 
HAVING t1.genre = t2.genre AND t2.is_movie = 0);

给我一​​个无效的标识符错误。看起来在嵌套子查询中无法识别表t1。谁知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

您可以使用连接在同一桌面上的内联视图以这种方式重新编写查询。

SELECT t1.name
FROM title t1,(select genre,avg(rating) as rating
               from title
               where is_movie = 0
               group by genre) t2
WHERE 
     t1.genre = t2.genre
 AND t1.is_movie = 0
 AND t1.rating > t2.rating