SELECT COUNT(1) ROWCOUNT
FROM (SELECT EP.NAME,
DECODE(EM.JXTYPE, 0,'统筹区记息',1,'单位记息',2,'个人记息') JXTYPE,
DECODE(EB.ARRIVED_STATUS,0,'未到账',1,'统筹区到账',2,'归集户到账',
3,'受托到账') ARRIVED_STATUS,
SUM(EB.ACCINTO_MONEY) AS ACCINTO_MONEY,
SUM(EB.ACCINTO_INSTR) AS ACCINTO_INSTR
FROM EPRK_ACCINTO_LX_B EB,
EPRK_CORPORATION EP,
EPRK_ACCINTO_LX EM,
EPRK_AREAMANAGE EA
WHERE EB.PK_CORPORATION = EP.PK_CORPORATION
AND EB.PK_AREAMANAGE = EA.PK_AREAMANAGE
AND EB.PK_ACCINTO_LX = EM.PK_ACCINTO_LX
AND EM.JXTYPE = 1
AND EP.NAME LIKE '%扬州市党员电化教育中心%'
AND EA.AREAMANAGECODE = '320682'
GROUP BY EP.NAME,
DECODE(EM.JXTYPE,
0,'统筹区记息',1,'单位记息',
2,'个人记息') JXTYPE,
DECODE(EB.ARRIVED_STATUS,
0,'未到账',1,'统筹区到账',
2,'归集户到账',3,'受托到账'))
报错ORA-00907 缺少有括号
GROUP BY EP.NAME,
DECODE(EM.JXTYPE,
0,'统筹区记息',1,'单位记息',
2,'个人记息') JXTYPE,
DECODE(EB.ARRIVED_STATUS,
0,'未到账',1,'统筹区到账',
2,'归集户到账',3,'受托到账')
报错原因:
注意:
- 在mysql中,group by中可以使用别名;
- where中不能使用别名;
- order by中可以使用别名。
- 其余像oracle,hive中别名的使用都是严格遵循sql执行顺序的,group by后面不能用别名。
- mysql特殊是因为mysql中对查询做了加强。
评论前必须登录!
注册