在Oracle数据库中多重子查询的使用
代码如下:
SELECT T.*, ROWNUM RNFROM (SELECT B.*,NVL(A.AMOUNT, 0) AMOUNT,V.FULLNAME,DECODE(SHARE_TYPE, 1, '***', 0, '%%%') SHARE_TYPEFROM (SELECT COUNT(MENTS) AMOUNT,P.BO_PROBLEM_MANAGE_ID BO_PROBLEM_MANAGE_IDFROM BO_SHARE_COMMENTS S, BO_PROBLEM_SHARE PWHERE P.BO_PROBLEM_SHARE_ID = S.APPID(+)GROUP BY P.BO_PROBLEM_MANAGE_ID) A,BO_PROBLEM_SHARE B,V_USER_ORG VWHERE B.BO_PROBLEM_MANAGE_ID = A.BO_PROBLEM_MANAGE_ID(+)AND B.CREATE_USERID = V.USERIDAND B.SHARE_STATUS = '2'ORDER BY B.CREATE_DATE) T
上面代码运行时,会报错如下:
看代码看了很多遍还是没有发现错误,然后就是各种子查询拆开运行还是没有发现错误.
附上问题所在的图片:
问题说明:在B.*中有SHARE_TYPE,后面又有SHARE_TYPE的字段导致运行SQL的时候区分不了字段.建议解决方法,字段重命名,或者不使用全表字段.