在做统计时  如下sql:
SELECT COUNT(*) ammount,
       DECODE(GROUPING(p.SORT), 1, '总数', p.SORT) target,
       sum(nvl(p.PERIOD, 0)) person,
       count(*) ammount,
       sum(nvl(t.PERSONSUM, 0)) personsum,
       DECODE(GROUPING(s.NAME), 1, '合计', s.NAME) id
  FROM POST_TEAM_TRAIN_LOGS c
  JOIN POST_TRAINS p ON c.TRAIN_ID = p.id
  JOIN POST_TEAMS t ON c.TEAM_ID = t.id
  JOIN POST_MANAGE_ORGANIZES s ON p.ORG_ID = s.id
 where s.ID IN (SELECT ID
                  FROM POST_MANAGE_ORGANIZES
                CONNECT BY PRIOR ID = Parent_id
                 START WITH ID = (30))
 GROUP BY CUBE(p.SORT, (s.NAME, s.ID))
大家注意红色部分 如果是这样执行的话会报:
ORA-00604: 递归 SQL 层 1 出现错误
ORA-00904: "SYS_TBL_$6$"."ID": 无效的标识符
如果 将GROUP BY CUBE(p.SORT, (s.NAME, s.ID))
变成GROUP BY CUBE(p.SORT, s.NAME, s.ID)
则可以通过。。以前测试都没有问题 是最近才发现的 请问这是什么问题 是和数据库配置有关吗???