如何比较相连的两条记录的同一个字段的值 20分,无满意结帖,结帖人kaixinmaliu9420]

发布时间:2017-6-27 13:22:10 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"如何比较相连的两条记录的同一个字段的值 20分,无满意结帖,结帖人kaixinmaliu9420]",主要涉及到如何比较相连的两条记录的同一个字段的值 20分,无满意结帖,结帖人kaixinmaliu9420]方面的内容,对于如何比较相连的两条记录的同一个字段的值 20分,无满意结帖,结帖人kaixinmaliu9420]感兴趣的同学可以参考一下。

如何编写sql 就是要分别比较第n-1条记录与第n条记录相同字段的所有值 比方 id        flag1     flag2    flag3 i          1          0        1 2          1          1        0 3          0          1        1 .......... n-1        0          1        0 n          1          0        0

比较以后出什么样的结果呢?

如何编写sql 就是要分别比较第n-1条记录与第n条记录相同字段的所有值 比方 id        flag1     flag2    flag3 i          1          0        1 2          1          1        0 3          0          1        1 .......... n-1        0          1        0 n          1          0        0 n的取值从1开始,直到所以的记录

对三个字段,分别标记,如果相同就标记1,不同就给0啊

select *,(select * from tb B where B.id = A.id + 1) from tb A

update tb  set flag1 = case when falg1 = Bfalg1 then '1' esle '0' end               ,flag2 = case when falg2 = Bfalg2 then '1' esle '0' end               ,flag3 = case when falg3 = Bfalg3 then '1' else '0' end        from  select *,(select id as Bid,falg1 as Bfalg1,falg2 as Bfalg2,falg3 as Bfalg3 from tb B where B.id = tb.id + 1) from tb 

--建表 create table tb ( id int identity(1,1) primary key, flag1 varchar(10), flag2 varchar(10), flag3 varchar(10) ) go --插入数据 insert into tb values('1','0','1') insert into tb values('1','1','0') insert into tb values('0','1','1') insert into tb values('0','1','0') insert into tb values('1','0','0') go --SQL语句 select a.id, case when a.flag1 = b.flag1 then '相同' else '不相同' end as  是否和下一条记录的flag1相同, case when a.flag2 = b.flag2 then '相同' else '不相同' end as  是否和下一条记录的flag2相同, case when a.flag3 = b.flag3 then '相同' else '不相同' end as  是否和下一条记录的flag3相同 from tb as a,tb as b where a.id = b.id - 1 测试无错误。注:当表中只有一条记录时,无比较记录

这个麻烦,主要是定位问题,看主键是不是INT自增类,如果有这个就简单,上面都实现过了。否则只能创建临时表比较

lz要干嘛?

上一篇:18456,严重性: 14,状态: 16。 0fredrickhu]
下一篇:SQL Server 2008的新特点 0andy1995]

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。