高分求一算法,分不够再加(急)

lingyunfeipu 2005-03-21 09:49:56
有两张表TableA,TableB
结构如下:
TableA:

id name,money

TableB:
id,code,name,money

现在TableA中的数据有3条
id name money
1 name1 1.00
2 name2 2.00
3 name3 3.00
TableB中的数据
id code name money
1 code1 name1 3.00
2 code2 name2 2.00
3 code3 name3 1.00
现在要求 TableA中的数据和TableB中的数据一一比较(顺序不能改变)
例如:
TableA的第一条数据 money=1 和TableB的第一条比较money=3.00
发现 1<3 就把TableB 的第一条记录拆成money=1.00 和money=2.00 两条记录插在id=1之后
下次如果发现TableA的money大于TableB的money就拆TableA

关键是TableA和TableB都需要拆
...全文
115 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
尚和空四 2005-03-22
  • 打赏
  • 举报
回复
一步一步按照你说的顺序实现就行
hamadou 2005-03-22
  • 打赏
  • 举报
回复
还有什么算法啊,一条sql语句肯定写不出了,还是用存储过程按照上面的思路分开来插入吧,插入完了,再按照id来检索出来,否则就得设置你的索引类型了。
rangren 2005-03-21
  • 打赏
  • 举报
回复
up
lingyunfeipu 2005-03-21
  • 打赏
  • 举报
回复
最后TableA 变成,暂时id可以重复
id money
1 1.00
2 2.00
3 2.00
3 1.00

TAbleB
1 1.00
1 2.00
2 2.00
3 1.00
hamadou 2005-03-21
  • 打赏
  • 举报
回复
不是很明白你的这两个表的结构。主要是主键和索引的问题。如果要拆分后插入,那么怎么保证在相应的id后,如果我们暂且不考虑这个问题,那样可以考虑如下的做法:
选出在tablea中的money小于tableb中的行(当然id要相等),取得差,然后用tablea中的money和这个差向tableb插入。
同样道理,选出在tableb中的money小于tablea中的行(当然id要相等),取得差,然后用tableb中的money和这个差向tablea插入。
jialiang 2005-03-21
  • 打赏
  • 举报
回复
这样的要求肯定可以做,但是效率肯定很差,
要经过以下几步:
1:比较第1条
2:拆分
3:重新排序
重复1,2,3步处理第2条
重复1,2,3步处理第3条
如此循环

我想应该从更改一下设计思路入手
fanruinet 2005-03-21
  • 打赏
  • 举报
回复
想不出什么特别的算法来
步骤都有了,一步一步按照你说的顺序实现就行
fsdunkey 2005-03-21
  • 打赏
  • 举报
回复
用SQL语句行不?
haoco 2005-03-21
  • 打赏
  • 举报
回复
up

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧