两行记录的比较??????????

panda831102 2012-06-12 01:22:23
怎么写循环语句,比较序号一样的行中,金额不一样的月份(01的二月和三月,02的一月),把数据插入到新的表中?
序号 一月 二月 三月 四月 五月 六月 标识
01 0.00 1,800.00 1,800.00 0.00 0.00 0.00 A
01 0.00 0.00 150.00 0.00 0.00 0.00 B
02 1,000 1,000.00 1,000.00 0.00 0.00 1,000 A
02 0.00 1,000.00 1,000.00 0.00 0.00 1,000 B
...全文
118 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaikai_kk 2012-06-14
  • 打赏
  • 举报
回复
1.MSSQL语句比较(access改成iif),下面结果:0表示相等,1表示不相等; 至于结果要做什么用,自己看着办吧
select 序号,
case when A=0 then 0 else 1 end as 一月,
case when B=0 then 0 else 1 end as 二月,
case when C=0 then 0 else 1 end as 三月,
case when D=0 then 0 else 1 end as 四月,
case when E=0 then 0 else 1 end as 五月,
case when F=0 then 0 else 1 end as 六月
from (
select 序号,
SUM(case when 标识='A' then 一月 else -一月 end) as A,
SUM(case when 标识='A' then 二月 else -二月 end) as B,
SUM(case when 标识='A' then 三月 else -三月 end) as C,
SUM(case when 标识='A' then 四月 else -四月 end) as D,
SUM(case when 标识='A' then 五月 else -五月 end) as E,
SUM(case when 标识='A' then 六月 else -六月 end) as F
From 表 Group By 序号) as X

/*
序号 一月 二月 三月 四月 五月 六月
----- ----- ----- ----- ----- ----- -----
1 0 1 1 0 0 0
2 1 0 0 0 0 0

(2 行受影响)
*/

2.在程序中比较,就是循环整个表,取出每笔记录中的每个值,上下2条记录比较;自己去实现吧
zsl3185 2012-06-14
  • 打赏
  • 举报
回复
高手啊
sz0557it 2012-06-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
SQL code

1.MSSQL语句比较(access改成iif),下面结果:0表示相等,1表示不相等; 至于结果要做什么用,自己看着办吧
select 序号,
case when A=0 then 0 else 1 end as 一月,
case when B=0 then 0 else 1 end as 二月,
case when C=0 then 0 else 1 end as……
[/Quote]

kaikai_kk
要赞一个。
panda831102 2012-06-13
  • 打赏
  • 举报
回复
有没有高手解答阿?急阿
babydog01 2012-06-13
  • 打赏
  • 举报
回复
新表的结构?
panda831102 2012-06-12
  • 打赏
  • 举报
回复
比较两条数据,输出值不同的字段名和字段
panda831102 2012-06-12
  • 打赏
  • 举报
回复
就是两行数据比较,找出数据不同的列
序号 一月 二月 三月 四月 五月 六月 标识
01 0.00 1,800 0.00 1,800.00 0.00 0.00 A
01 0.00 0.00 0.00 150.00 0.00 0.00 B

怎么通过SQL发现 二月和四月数据不一样????
WML_QD 2012-06-12
  • 打赏
  • 举报
回复
没明白,

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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