ORA-00942表或视图不存在

时间:2017-05-25 12:45:05

标签: sql oracle oracle11g

我在db oracle中有一个sql查询 我想输出最大值。 SQL查询包含唯一字段值

下面的SQL查询包含重复的行:

select 
field1,field2,field3,field4,field5,field6,field7,field8,field9,MAX(field10) as field10

from(

select 
field1,field2,field3,field4,field5,field6,field7,field8,field9,field10

from table

)tabl

GROUP BY field1,field2,field3,field4,field5,field6,field7,field8,field9

我更正了sql请求,但它不起作用 显示错误消息下面的SQL查询:ORA-00942表或视图不存在。

select

field1,field2,field3,field4,field5,field6,field7,field8,field9

,(SELECT MAX(field10)  FROM tabl ) as field10

from(
select 
field1,field2,field3,field4,field5,field6,field7,field8,field9,field10

from table
)tabl

我该如何解决? 谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

首先,您的第一个查询无法重复,因为您要按所有列进行分组,并使用aggregate剩余列的field10函数。

现在回复你的错误。错误原因是,(SELECT MAX(field10) FROM tabl ) as field10。因为tabl是外部表的别名,并且您在select子句中使用它,因此错误。

此外,您可以像下面一样进一步简化它,它也不会给你重复。

select 
field1,field2,field3,field4,field5,field6,
  field7,field8,field9,MAX(field10) as field10
from table
GROUP BY field1,field2,field3,field4,field5,field6,
 field7,field8,field9