开始送分,只要能给思路

yxwgr 2001-11-26 10:19:31
我的问题是:
数据库中有一个字段'money','money'值>0是应付款,<0是应收款,
我想在数据窗口中用两个可编辑的列编辑,第一列是应收款编辑,第二列是应付款编辑
数据库更新:第一列有值更新到数据库中>0,第二列有值更新到数据库中<0
...全文
88 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxwgr 2001-11-27
  • 打赏
  • 举报
回复
我以前的统计类似last函数也解决了,用plan函数,这个函数很好很复杂,我很喜欢。
yxwgr 2001-11-27
  • 打赏
  • 举报
回复
详见:
http://www.csdn.net/expert/topic/390/390021.shtm
上面的代码值得保存。
yxwgr 2001-11-27
  • 打赏
  • 举报
回复
有函数case when then ,原来数据窗口函数在sql中也好用,我的分数给流方了,因为他提醒了我。
因为在sql中计算,这样可以在dw中得到两个编辑列
(case when "qcjz_client"."money">0 then "qcjz_client"."money" else null) as 'ys',
case when "qcjz_client"."money">0 then "qcjz_client"."money" else null) as 'yf'
FROM "qcjz_client"
完成的很好。
紫焰月读 2001-11-27
  • 打赏
  • 举报
回复
加一个字段为方向字段,输入时可应付或应收就可以了,数据库中可以只用两列,
前面加的字段可以为逻辑字段(或类似的),为真时为应收,为假时为应付,
汇总查询也很方便。

select 方向* 金额 as 往来余额 from qcjz_client;

select sum(case 方向 then 金额 else 0) as 应收款发生额,
sum(case 方向 then 0 else 金额) as 应付款发生额
FROM qcjz_client
yxwgr 2001-11-26
  • 打赏
  • 举报
回复
yubintj(皇上):
去看看
http://www.csdn.net/expert/topic/390/390029.shtm
谢谢
yubintj 2001-11-26
  • 打赏
  • 举报
回复
写两个字段,然后建视图统计,这样程序比较干净!
lif_009 2001-11-26
  • 打赏
  • 举报
回复
用一个外部数据源的数据窗口,用脚本取这个(外)的数据窗口的两个列值,判断后写入原来的数据窗口中,保存。
yxwgr 2001-11-26
  • 打赏
  • 举报
回复
我用了这个语句:
SELECT (sign("qcjz_client"."money")+1)*"qcjz_client"."money"/2 as 'ys',
(sign("qcjz_client"."money")-1)*"qcjz_client"."money"/2 as 'yf'
FROM "qcjz_client"
可以解决,但是要有这个函数
SELECT if("qcjz_client"."money">0,"qcjz_client"."money",0) as 'ys',
if("qcjz_client"."money"<0,"qcjz_client"."money",0) as 'yf'
FROM "qcjz_client"
可是pb中只有ifnull(x,y,z)函数

yxwgr 2001-11-26
  • 打赏
  • 举报
回复
只有一个字段,因为在其他表中我需要统计,这种情况这么办,以后也会碰到这种情况的(一个字段,两个编辑)
fallstone 2001-11-26
  • 打赏
  • 举报
回复
没必要吧,直接写两个字段为应收和应付不就可以了?
发帖
PowerBuilder

1028

社区成员

PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
帖子事件
创建了帖子
2001-11-26 10:19
社区公告
暂无公告