Oracle数据库多重子查询嵌套的坑

在Oracle数据库中多重子查询的使用

代码如下:

SELECT T.*, ROWNUM RN
  FROM (SELECT B.*,
               NVL(A.AMOUNT, 0) AMOUNT,
               V.FULLNAME,
               DECODE(SHARE_TYPE, 1, '***', 0, '%%%') SHARE_TYPE
          FROM (SELECT COUNT(S.COMMENTS) AMOUNT,
                       P.BO_PROBLEM_MANAGE_ID BO_PROBLEM_MANAGE_ID
                  FROM BO_SHARE_COMMENTS S, BO_PROBLEM_SHARE P
                 WHERE P.BO_PROBLEM_SHARE_ID = S.APPID(+)
                 GROUP BY P.BO_PROBLEM_MANAGE_ID) A,
               BO_PROBLEM_SHARE B,
               V_USER_ORG V
         WHERE B.BO_PROBLEM_MANAGE_ID = A.BO_PROBLEM_MANAGE_ID(+)
           AND B.CREATE_USERID = V.USERID
           AND B.SHARE_STATUS = '2'
         ORDER BY B.CREATE_DATE) T

上面代码运行时,会报错如下:
Oracle数据库多重子查询嵌套的坑_第1张图片
看代码看了很多遍还是没有发现错误,然后就是各种子查询拆开运行还是没有发现错误.
附上问题所在的图片:
Oracle数据库多重子查询嵌套的坑_第2张图片
问题说明:在B.*中有SHARE_TYPE,后面又有SHARE_TYPE的字段导致运行SQL的时候区分不了字段.建议解决方法,字段重命名,或者不使用全表字段.

你可能感兴趣的:(基础篇)