如何在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

转载于:https://www.cnblogs.com/etsdpt/archive/2012/01/09/2316991.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值