简体   繁体   English

ORA-00942表或视图不存在

[英]ORA-00942 table or view does not exist

I have a sql query in db oracle I want to output max value. 我在db oracle中有一个SQL查询,我想输出最大值。 SQL query contains unique field values SQL查询包含唯一字段值

Sql query below contains duplicate rows: 下面的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

I corrected sql request but it doesn't work. 我更正了sql请求,但是它不起作用。
Sql query below an error message is displayed :ORA-00942 table or view does not exist. 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

how can i fix it? 我该如何解决? Thanks for your help! 谢谢你的帮助!

First of all, your first query can not have duplicates, as you are grouping by all columns and using aggregate function of remaining column, field10 . 首先,您的第一个查询不能有重复项,因为您field10所有列分组并使用剩余列field10 aggregate函数。

Now coming back you your error. 现在返回您的错误。 The reason for error is ,(SELECT MAX(field10) FROM tabl ) as field10 . 错误的原因是,(SELECT MAX(field10) FROM tabl ) as field10 Because tabl is an alias for outer table and you are using it inside the select clause, hence the error. 因为tabl是外部表的别名,并且您在select子句中使用它,因此会出现错误。

Also you can further simplify it like below and it will also not give you duplicates. 您也可以像下面这样进一步简化它,并且也不会给您重复的内容。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM