免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3401 | 回复: 2
打印 上一主题 下一主题

OPNQRYF 問題 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-24 21:21 |只看该作者 |倒序浏览
假設有這樣一個datafile

ID | amt_1 | amt_2 | amt_3  |amt_4 |
01 | 140     | 20       | 35        |12       |
02 | 130     | 10       | 34        |67       |

如果我要算 ID =01 的amount 的總和,我該怎麼辦? 就是一下的結果

total = amt_1 + amt_2 + amt_3 + amt_4

ID | total |
01 | 207  |
02 | 241  |

论坛徽章:
0
2 [报告]
发表于 2011-05-24 23:10 |只看该作者
上述的datafile ,says,名字叫 FILEA
再定義一個FILE ,says, FILEB with  two fields
ID (3 A)
TAMT ( 8 S 0), total amount

OVRDBF     FILE(FILEB) TOFILE(FILEA) SHARE(*YES)
OPNQRYF    FILE(FILEA) FORMAT(FILEB) +
              MAPFLD((TAMT  'amt_1 + amt_2 + amt_3 + amt_4'))

CALL       PGM(PGMF) /* Created using file FILEAA as input */

CLOF       OPNID(FILEA)
DLTOVR     FILE(FILEB)

根據 IBM 的例子修改,沒有試過。不過應該算解決了。

论坛徽章:
0
3 [报告]
发表于 2011-05-31 17:02 |只看该作者
我不知道是不是正确理解楼主意思。根据我的感觉,用WRKQRY直接做一个QUERY,然后在里面的Define result fields里追加一项等与前面几项的和就可以了啊(total = amt_1 + amt_2 + amt_3 + amt_4).     如果要用C调用的话,直接RUN这个QUERY 不就可以了嘛?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP