读书人

ORacle表联查解决办法

发布时间: 2012-06-03 16:59:40 作者: rapoo

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 

读书人网 >oracle

热点推荐