使用条件过滤SQL中的行

时间:2014-10-23 09:49:00

标签: plsqldeveloper

clm_id  adj_no  ln_no   AMT code    name    add
a       0       1       5   2       e       22
a       0       2       2   2       e       22
a       0       3       0   2       e       22


clm_id  adj_no  ln_no   AMT code    name    add
b       1       1       0   2       e       22
b       1       2       0   2       e       22
b       1       3       0   2       e       22

1.i在源表中有以上两组ID记录 2.现在,我必须将基于clm_id,adj_no的AMT列与第一组记录相加,总和(AMT)将为7,所以我希望在我的查询中提取所有这些记录
3.现在,我必须将基于clm_id,adj_no的AMT列与第二组记录相加,总和(AMT)将为0,所以我希望所有这些记录都不在我的查询中提取

基本上如果AMT总和大于0,我想拉出所有记录。结果记录应该具有源中的AMT列(不是总和(AMT))

1 个答案:

答案 0 :(得分:2)

SELECT clm_id, adj_no, SUM(AMT) AS AMT_SUM 
  FROM source_table 
 GROUP BY clm_id, adj_no 
 HAVING AMT_SUM > 0