数据表更新问题 怎么都没人会啊! 高手都去那里了啊,是不是还没上班啊! ( 积分: 74 )

  • 主题发起人 主题发起人 hgto2008
  • 开始时间 开始时间
H

hgto2008

Unregistered / Unconfirmed
GUEST, unregistred user!
pardox做的数据库
怎样把表一(cudan1.db)表二(cudan2.db)的同一流水号的金额合计写入到表三(system.db)中相对应流水账号的金额合计中
流水号是随机产生的 表一表二中的流水号表三中一定有而表三中的流水号表一表二不一定有
如下表: cudan1.db cudan2.db
流水号 金额 流水号 金额
001 3 002 4
001 2 001 3
002 3 003 6
003 4 002 2
. .
. .
写好后的表三 system.db
流水号 合计金额 厢号
001 8 v1
002 9 v2
003 10 v3
表三中的其它列的数据如(厢号)是不能变的
 
pardox做的数据库
怎样把表一(cudan1.db)表二(cudan2.db)的同一流水号的金额合计写入到表三(system.db)中相对应流水账号的金额合计中
流水号是随机产生的 表一表二中的流水号表三中一定有而表三中的流水号表一表二不一定有
如下表: cudan1.db cudan2.db
流水号 金额 流水号 金额
001 3 002 4
001 2 001 3
002 3 003 6
003 4 002 2
. .
. .
写好后的表三 system.db
流水号 合计金额 厢号
001 8 v1
002 9 v2
003 10 v3
表三中的其它列的数据如(厢号)是不能变的
 
大虾们帮帮忙啊~!~
 
大虾们都不会用pardox的数据库了,记不太清楚它的语句了。

劝你也不要用pardox数据库
 
这个库是别人已写好了的呀
我是在他的基础上写的呀
没法啊
 
你这个问题我好像以前帮你写过代码呀,不过,肯定不是pardox的,其实你自己可以查一查pardox的语句,按理和标准的sql差不了太多。
 
我刚学的呀jianguobu
我试过了呀
做不好啊
什么库什么库的我都不懂.
我是菜鸟中的菜鸟
 
没有人会吗?
帮帮忙啊~!~
 
要是其他数据库,可以写触发器的啊。

pardox可以写sql的话。就方便多了啊。不知道标准是不是有变动。。

具体思路是这样的。
当插入一条数据,譬如 001 3 到cudan1.db 中,同时检查 system.db
中是不是有流水号为001的(用 select count(*) from system.db
where 流水号=001 ),如果为0 ,就在system.db表中insert 这条数据,
如果是1 ,那么,就add 金额
 
随便写了一个,试试先:
update 表三 set 合计金额=(select (sum(表1.金额)+sum(表2.金额)) as 金额 from 表1,表2 where 表1.流水号=表2.流水号 and 表1.流水号=表3.流水号)
 
是用sql语句的呀.
我是用Quyry控件的.
 
刚才查了下pardox的帮助,它不能使用子查询,之所以用一条sql语句搞不定你的问题。
 
子查询好像可以用的呀
update 表三 set 合计金额=(select sum.(金额) as 金额 from 表1 where 表1.流水号=表表3.流水号
这句可以实现.
 
这样统计才会对呀,但在pardox里运行不了。

select 流水号,sum(合计金额) from (
(select 流水号,sum(金额) as 合计金额 cudan1.db group by 流水号
union all
select 流水号,sum(金额) cudan2.db as 合计金额 group by 流水号)) as a group by 流水号
 
对,用query控件"库1","库2"用query,"库3"用tabel,因为,query是只读的,你可以试试
 
update 表三 set 合计金额=(select (sum(表1.金额)+sum(表2.金额)) as 金额 from 表1,表2 where 表1.流水号=表2.流水号 and 表1.流水号=表3.流水号)

这句可以写入数据,担是数据不对的。它把表1 表2的所有金额都相加,并写入的表3的每行数据都是一样的。
 
还没有解决呀,
谁会的啊,帮帮忙啊!
 
update 表三 set 合计金额=(select (sum(表1.金额)+sum(表2.金额)) as 金额 from 表1,表2 where 表1.流水号=表2.流水号 )where 表3.流水号=表1.流水号)
 
换数据库吧,这里使用ACCESS和SQL SERVER的好象普遍些,有什么问题也容易及时解决,呵呵
===
有问题别人也可以帮你调试
 
后退
顶部