[英]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.