我有一个查询
select b.* from TABLE a, TABLE b
where
a.hdr_pk_id = b.hdr_fk_id
and a.hdr_pk_id in (select bonus_pk_id
from BONUS_TABLE
where
STATUS='I'
and TYPE=2
)) ;
返回样本数据:
empno empname amount
1 a 100
2 b 200
3 c 300
1 a 400
2 b 100
3 c 200
我需要明确的empno和sum(金额) 例如,我如何获得像
这样的数据empno empname amount
1 a 500
2 b 300
3 c 500
答案 0 :(得分:1)
SELECT b.empno, b.empname, SUM(amount)
FROM TABLE a, TABLE b
WHERE a.hdr_pk_id = b.hdr_fk_id
and a.hdr_pk_id in (select bonus_pk_id
from BONUS_TABLE
where
STATUS='I'
and TYPE=2))
GROUP BY b.empno, b.empname;
答案 1 :(得分:0)
我不确定但是试试
select distinct b.* ,sum(b.amount) over (partition by empname) from TABLE a,TABLE b
where
a.hdr_pk_id = b.hdr_fk_id
and a.hdr_pk_id in (select bonus_pk_id
from BONUS_TABLE
where
STATUS='I'
and TYPE=2
)) ;