• 如何在SQL/400查询指令结果的最后一行插入合计


    在SQL/400中,不能直接列出某一列的合计,但可以用UNION语句实现这一功能。

    UNION操作可将两个或更多不同的SQL语句的结果合并成一个结果集,唯一的限制是每个表或SQL语句必需有相同的列类型、数目和顺序。

    UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。

    1、在AS/400命令行执行命令:
    STRSQL

    2、在“Enter SQL Statements”画面输入下列SQL语句:
    select 'Item' as id,
    --------salary,
    --------tel
    from xqlib/emp
    union
    select 'Total' as id,
    --------sum(salary) as salary,
    --------0 as tel
    from xqlib/emp

    SELECT statement run complete.

    在此例中UNION联合的两个表所选择的字段,如id,salary,tel各自具有相同的类型和顺序,否则会报错。

    3、执行结果如下图所示:
    -----------------------------Display Data
    ------------------------------------------Data width . . . . . . : 37
    Position to line . . . . . ------------Shift to column . . . . . .
    ....+....1....+....2....+....3....+..
    ID -----------SALARY --------TEL
    Item --------10,000 --------111,111
    Item --------20,000 --------222,222
    Item --------30,000 --------333,333
    Item --------40,000 --------444,444
    Item --------50,000 --------555,555
    Item --------60,000 --------777,777
    Item --------80,000 --------888,888
    Item --------91,000 --------121,212
    Total -------381,000 -------------0
    ******** End of data ********
    ----------------------------------------------------------Bottom
    F3=Exit --F12=Cancel --F19=Left --F20=Right --F21=Split

  • 相关阅读:
    剑指 Offer 46. 把数字翻译成字符串
    剑指 Offer 45. 把数组排成最小的数
    1319.连通网络的操作次数-并查集
    数字序列中某一位的数字
    989.数组形式的整数加法
    java多线程
    剑指offer 48 -最长不含重复字符的子字符串 动态规划
    springboot 使用 lombok插件中的@data 注解
    netty 转发服务
    在静态方法中获取properties /yml 配置文件中的信息
  • 原文地址:https://www.cnblogs.com/etsdpt/p/2316991.html
Copyright © 2020-2023  润新知