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有这样的写法吗

解决方案 »

  1.   

    改为试试看
    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
      

  2.   

    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,
    field3
    FROM TB_GongWen
      

  3.   

    谢谢两位的帮助,非常感谢 @serisboy