Rn2*_*2dy 1 sql oracle oracle10g ora-00904
编译错误说"mm"和"cc"是无效的标识符!
with m as (
select instructor,
count(*) as c
from class
group by instructor),
mm as (
select max(m.c) as cc
from m)
select m.instructor
from m
where m.c = mm.cc;
Run Code Online (Sandbox Code Playgroud)
该错误是因为mm是Subquery Factoring(AKA CTE)实例的名称,但正如您所看到的:
SELECT m.instructor
FROM m
WHERE m.c = mm.cc;
Run Code Online (Sandbox Code Playgroud)
您尚未声明mm为m实例的JOIN .使用:
WITH m AS (
SELECT instructor,
COUNT(*) as c
FROM CLASS
GROUP BY instructor),
mm AS (
SELECT MAX(m.c) as cc
FROM m)
SELECT m.instructor
FROM m
JOIN mm ON mm.cc = m.c
Run Code Online (Sandbox Code Playgroud)