OPNQRYF 問題
假設有這樣一個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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
|上述的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 的例子修改,沒有試過。不過應該算解決了。
我不知道是不是正确理解楼主意思。根据我的感觉,用WRKQRY直接做一个QUERY,然后在里面的Define result fields里追加一项等与前面几项的和就可以了啊(total = amt_1 + amt_2 + amt_3 + amt_4). 如果要用C调用的话,直接RUN这个QUERY 不就可以了嘛?