对oracle不太熟,朋友发的一条语句帮修改一下,改成ORACLE的。
SELECT EQU_POLE.BASICINFOID,EQU_POLE.SPAN, EQU_BASICINFO.ID, LINE.LINELENGTH
FROM LINE RIGHT OUTER JOIN
EQU_BASICINFO
ON LINE.ID = EQU_BASICINFO.ID RIGHT OUTER JOIN
( SELECT basicinfoid, SUM(span) "span"
FROM EQU_POLE
GROUP BY basicinfoid) EQU_POLE ON EQU_BASICINFO.ID = EQU_POLE.BASICINFOID
where EQU_POLE.SPAN <> LINE.LINELENGTH
SELECT EQU_POLE.BASICINFOID,EQU_POLE.SPAN, EQU_BASICINFO.ID, LINE.LINELENGTH
FROM LINE RIGHT OUTER JOIN
EQU_BASICINFO
ON LINE.ID = EQU_BASICINFO.ID RIGHT OUTER JOIN
( SELECT basicinfoid, SUM(span) "span"
FROM EQU_POLE
GROUP BY basicinfoid) EQU_POLE ON EQU_BASICINFO.ID = EQU_POLE.BASICINFOID
where EQU_POLE.SPAN <> LINE.LINELENGTH
RIGHT OUTER JOIN
EQU_BASICINFO ON LINE.ID = EQU_BASICINFO.ID
RIGHT OUTER JOIN
(SELECT basicinfoid, SUM(span) as span FROM EQU_POLE GROUP BY basicinfoid) EQU_POLE
ON EQU_BASICINFO.ID = EQU_POLE.BASICINFOID
where EQU_POLE.SPAN <> LINE.LINELENGTH应该是通用的,这里面没有用到oracle专属的特殊函数
呃,就是那个双引号别名的问题,我在给朋友写这条语句的时候专门百度了一下,看有人这样写。我以为ORACLE里面别名就是这样了,所以写成这样的,没想到还是跟SQL一样。= =