当前位置: 代码迷 >> Oracle管理 >> ORacle表联查解决办法
  详细解决方案

ORacle表联查解决办法

热度:72   发布时间:2016-04-24 05:18:06.0
ORacle表联查
ORACLE 语句
SELECT 
field1,
(SELECT Id FROM (SELECT id From TB_GongWenLz WHERE TB_GongWenLz.GongwenId=gw.Id ORDER BY Tid DESC) WHERE RowNum=1) AS field2,
field3
FROM TB_GongWen gw


SQL SERVER语句
SELECT 
field1,
(SELECT TOP(1) Id FROM TB_GongWenLz WHERE TB_GongWenLz.GongwenId=gw.Id ORDER BY Tid DESC) AS field2,
field3
FROM TB_GongWen gw

语句是从SQL项目复制到ORACLE项目的,SQL SERVER的语句能正常执行, 但ORACLE的语句改成上面那样的话就会提示错误,请问在ORACLE有这样的写法吗

------解决方案--------------------
改为试试看
SELECT 
field1,
(SELECT Id FROM TB_GongWenLz WHERE TB_GongWenLz.GongwenId=gw.Id and rownum<=1 ORDER BY Tid DESC) AS field2,
field3
FROM TB_GongWen gw
------解决方案--------------------
SQL code
SELECT  field1,(SELECT Id FROM (SELECT id From TB_GongWenLz,TB_GongWen gw WHERE TB_GongWenLz.GongwenId=gw.Id ORDER BY Tid DESC) WHERE RowNum=1) AS field2,field3FROM TB_GongWen
  相关解决方案