用vb比较同一个数据表中的两个字段中的内容是否相同??
1、从数据表的字段1中最后一个记录开始数起的100条数据来比较内容是否相同。
字段1 字段2
1 100 ‘(即1=100是否相同)
2 99 ‘(即2=99是否相同)
3 98 ……
…… …… …… (由下至上比较)
…… …… ……
100 1 ‘(即100=1是否相同)
再统计出有多少条是相同的,输出到文本框中。
2、还有是“字段1”的第条5数据,与“字段2”的第1条数据比较一直比较到100记录才结束。
即“字段1”的第100条记录与“字段2”的第95条记录比较,一直到“字段1”的第5条记录与“字段2”的第1条记录比较。
再统计出有多少条是相同的,输出到文本框中。
[解决办法]
rs1.AbsolutePosition=100rs21.AbsolutePosition=95for i=100 to 6 '100~95,6~1(并不是5~1) if rs1(i)=rs2(i-5) '…… rs1.AbsolutePosition=rs1.AbsolutePosition-1 rs2.AbsolutePosition=rs2.AbsolutePosition-1next
[解决办法]
表名: Table1
列名: ID,col1,col2 其中 ID为标识列,自增
首先选出所需的记录,100条,从后向前排
select top 100 col1,col2,col1-col2 as 差值 FROM table1 order by ID DESC
然后在这100条记录的基础上,选出相同的记录
select count(1) as 相同记录数 from (select top 100 col1,col2,col1-col2 as 差值 FROM table1 order by ID DESC) a where 差值=0
第一个问题应该很容易
[解决办法]
表名: Table1
列名: ID,col1,col2 其中 ID为标识列,自增
同样,先选出所需的记录,100条,从后向前排
select top 100 col1,col2 ,row_number()over(order by ID desc) as tn FROM table1 order by tn DESC
然后在这100条记录的基础上,选出行号相差5的相同的记录
select sum (case when a.col1=b.col2 then 1 else 0 end )as 相同记录数 from
(select top 100 col1,col2 ,row_number()over(order by ID desc) as tn FROM table1 order by tn DESC) a join
(select top 100 col1,col2 ,row_number()over(order by ID desc) as tn FROM table1 order by tn DESC) b on a.tn=b.tn-5
至于把结果输入到文本框中,则要在VB中另写代码,如果用VB+数据库编程,这是最基本的,相信楼主应该很容易搞定
[解决办法]
没看懂楼主的需求到底是什么,不猜了。
(不要高估你的汉语表达能力或者我的汉语理解能力)
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。