下面这段sql报这个错:
ORA-01446: 无法从含 DISTINCT、GROUP BY 等子句的视图中选择 ROWID
谁能帮我改成正确的呢?
多谢!
select
*
FROM
tongji E
WHERE
E.ROWID=
(SELECT
MAX(ROWID)
FROM
(SELECT * FROM tongji A WHERE A.OPERATETIME=
(SELECT MAX(OPERATETIME) FROM tongji B WHERE B.P_NUMBER=A.P_NUMBER)
) C
WHERE C.P_NUMBER=E.P_NUMBER
)
ORA-01446: 无法从含 DISTINCT、GROUP BY 等子句的视图中选择 ROWID
谁能帮我改成正确的呢?
多谢!
select
*
FROM
tongji E
WHERE
E.ROWID=
(SELECT
MAX(ROWID)
FROM
(SELECT * FROM tongji A WHERE A.OPERATETIME=
(SELECT MAX(OPERATETIME) FROM tongji B WHERE B.P_NUMBER=A.P_NUMBER)
) C
WHERE C.P_NUMBER=E.P_NUMBER
)
解决方案 »
- 一个存储过程的问题
- Oracle企业管理器没法用
- Ado访问Oracle存储过程返回游标的问题--VC
- select column_name as 的问题,急,在线等
- schema 大家有什么要说的吗
- *******请教一个SQL语句,请各位进来看看********
- 关于 connect by 怎么样用他对递归表分组统计
- oracle 监听器无法启动,要重装oracle才能解决吗?
- exp定期导出数据时生成的dmp文件要求编号是导出的日期,比如今天040924.dmp
- 如何把统计好的数据由竖排变成横排
- 一个oracle函数参数传递的问题
- 我想把两个表的查询结果通过一个共同的时间字段连接在一起,请问怎么做?
select
*
FROM
tongji E
WHERE
E.ROWID=
(SELECT
MAX(ROWID)
FROM
(SELECT a.*,row_number()
over(partition by p_number order by OPERATETIME desc) r
FROM tongji A
) C
WHERE C.P_NUMBER=E.P_NUMBER and c.r=1
)
select
*
FROM
tongji E
WHERE
E.ROWID=
(SELECT
MAX(ROWID)
FROM
(SELECT a.*,rank()
over(partition by p_number order by OPERATETIME desc) r
FROM tongji A
) C
WHERE C.P_NUMBER=E.P_NUMBER and c.r=1
)
select
*
FROM
tongji E
WHERE
E.ROWID=
(SELECT
MAX(ROWID)
FROM
(SELECT rowid,A.* FROM tongji A WHERE A.OPERATETIME= --此处添上rowid试试
(SELECT MAX(OPERATETIME) FROM tongji B WHERE B.P_NUMBER=A.P_NUMBER)
) C
WHERE C.P_NUMBER=E.P_NUMBER
)