「已注销」 2012-11-06 14:05
浏览 341
已采纳

oracle语句——如果将求和函数弄成一行

有两张表,一张是科室表,一张是科室中事项表,现在已经可以查出每个科室的待办事项和:
如:
科室名称 环节1 环节2 环节3

科室1 10 15 20
科室2 15 10 0
…… …… …… ……
其中的数字是每个科室每个环节的和

我现在想在此基础上实现另一个功能
就是
科室名称 环节1 环节2 环节3

总计 45 80 79

科室1 10 15 20
科室2 15 10 0
…… …… …… ……
总计 45 80 79

其中第二行第一列和最后一行第一列,都叫:总计,剩余列的和都是中间的数字和,如何实现这种查询结果

  • 写回答

1条回答 默认 最新

  • iteye_5246 2012-11-06 14:39
    关注

    ==table t_demo
    col1 col2 col3 label_name
    10; 11; 12; "科室1"
    12; 1; 4; "科室1"
    12; 11; 14; "科室2"
    12; 15; 15; "科室4"

    select '总计' as total ,sum(col1), sum(col2), sum(col3) from t_demo
    union All
    select label_name,sum(col1), sum(col2), sum(col3) from t_demo
    group by label_name union All
    select '总计' as total ,sum(col1), sum(col2), sum(col3) from t_demo

    ==查询结果

    "总计"; 46; 38; 45
    "科室2"; 12; 11; 14
    "科室4"; 12; 15; 15
    "科室1"; 22; 12; 16
    "总计"; 46; 38; 45

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?