今天遇到一个关于SQL转换成Oracle语句的问题,描述如下:
select
*
from emp order
by deptno;
select
*
from dept;
Sql Server:
update dept a set dname=(select top 1 ename from emp where deptno=a.deptno order
by sal)
经过尝试,查找资料,得出下面转换结果,不知道这样是否可行:
update dept a set dname=
(with t as(select ename,deptno from emp order
by sal)
select ename from t where deptno=a.deptno and
rownum=1)
where
exists(with t as(select ename,deptno from emp order
by sal)
select
null
from t where deptno=a.deptno)
执行结果:
select
*
from dept;
其他替代方法随后再做尝试。
时间: 2024-10-09 15:51:46