昨天的问题还没有搞定哦,还得请大家帮帮忙啊???

gou_xp 2006-04-22 10:01:45

我有四个临时表,分别是单个人的'加款总额表'#A,'减款总额表'#B,'消费总额表'#C,'卡中余额表'#D,我现在想对每个人对下帐平不平,于是我把它们拿入一个表#T2,这时就出现问题了。因为我的条件是人员编号作为每个表的连接,比如说'减款总额表'中就只有几条记录,因为有的人员没有减款这项,所以人员编号到'减款总额表'时就有不等的情况了,这样查出的记录就只有它们公共的部分了,并没有满足我的要求.我想对在减款总额表中没有记录的人员,就默认他的减款值是0,怎么办啊?
这个问题我都想了一晚上了,再加今天早上,时间有点紧,请高手们帮帮忙啊???

如下是我的语句:
select #D.人员编号,#A.加款总额,#B.减款总额,#C.消费总额,#D.卡中余额 into #T2
from #D inner join #A on #D.人员编号 = #A.人员编号 inner join #B on #D.人员编号 = #A.人员编号 and #D.人员编号 = #B.人员编号 inner join #C on #D.人员编号 = #A.人员编号 and #D.人员编号 = #B.人员编号 and #D.人员编号=#C.人员编号

select * from #T2 where 加款总额<>减款总额+消费总额+卡中余额
...全文
96 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gou_xp 2006-04-22
  • 打赏
  • 举报
回复
能行了,太感谢大家了
paoluo 2006-04-22
  • 打赏
  • 举报
回复

用左聯接(另外,你的條件寫多了)

select #D.人员编号,#A.加款总额,IsNull(#B.减款总额,0) As 减款总额 ,#C.消费总额,#D.卡中余额 into #T2
from #D inner join #A on #D.人员编号 = #A.人员编号 inner join #C on #D.人员编号=#C.人员编号
Left join #B on #D.人员编号 = #B.人员编号

select * from #T2 where 加款总额<>减款总额+消费总额+卡中余额
gou_xp 2006-04-22
  • 打赏
  • 举报
回复
我已经试过了,这样不行的啊!因为《select * from #T2 where 加款总额<>减款总额+消费总额+卡中余额》这只是查询语句,在执行插入语句《select #D.人员编号,#A.加款总额,#B.减款总额,#C.消费总额,#D.卡中余额 into #T2 from #D inner join #A on #D.人员编号 = #A.人员编号 inner join #B on #D.人员编号 = #A.人员编号 and #D.人员编号 = #B.人员编号 inner join #C on #D.人员编号 = #A.人员编号 and #D.人员编号 = #B.人员编号 and #D.人员编号=#C.人员编号》时,就已经定了的。还请再帮忙想想,在下万分感谢!
itblog 2006-04-22
  • 打赏
  • 举报
回复
select * from #T2 where isnull(加款总额,0)<>isnull(减款总额,0)+isnull(消费总额,0)+isnull(卡中余额,0)

这样试试
hyrongg 2006-04-22
  • 打赏
  • 举报
回复
用中文字段名,看得我眼花缭乱

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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