一个简单的SQL查询语句,但是……请各位大虾帮帮俺,谢谢。俺想统计一下结算(js)表里结算日期(jsrq)为2007年度,累计现金支付(xjzf)大于30000的人员情况,写的语句如下:
select * from js where sum(js.xjzf)>=30000 and to_char(js.jsrq,'yyyy')='2007';可是提示错误如下:
ORA-00934: 此处不允许使用分组函数请教各位大虾应该如何实现这个统计功能呢?这个SQL语句到底应该如何写呢?谢谢!在线盼答
select * from js where sum(js.xjzf)>=30000 and to_char(js.jsrq,'yyyy')='2007';可是提示错误如下:
ORA-00934: 此处不允许使用分组函数请教各位大虾应该如何实现这个统计功能呢?这个SQL语句到底应该如何写呢?谢谢!在线盼答
select 人员 from js
where sum(js.xjzf)> =30000
and to_char(js.jsrq,'yyyy')='2007'
group by 人员; 人员的详细情况应该在其它表中。
--首先同过条件找用户IDselect 用户ID,SUM(xjzf) from js
where to_char(js.jsrq,'yyyy')='2007'
GROUP BY 用户ID
HAVING SUM(xjzf)>=30000--如果根据用户ID 还有对应的用户信息表(USERINFO)那么如下
SELECT * FROM USERINFO WHERE
EXISTS (
SELECT * FROM (
select 用户ID,SUM(xjzf) from js
where to_char(js.jsrq,'yyyy')='2007'
GROUP BY 用户ID
HAVING SUM(xjzf)>=30000
) B WHERE USERINFO.用户ID = B.用户ID
)