请问有什么办法写好的不重复统计

wang7655 2006-12-21 03:08:38
我有两张表,第一张表TABLE1和第二张表TABLE2有一个ID关联
我统计TABLE1中的费用同时统计出TABLE2中的想关费用
表中内容如下:
TABLE1
tdID 客户名称 费用字段
1 AA 200

table2
id tdid 字段1(MONEY)
1 1 50
2 1 50
我需要统计出第一张表中的费用减去第二张表中TDID关联的费用总和。

我写的格式如下
select 客户名称,sum(费用字段) AS table1费用,sum(字段1) as table2费用 from table1 as a left join table2 on a.tdid=b.tdid group by 客户名称

但是,我发现统计出来的table1费用不是200,而是400,因为关联在table2表中有两条记录。

请问正确的统计应该怎么写???

我希望最后得到的结果是
客户名称 table1费用 table2费用
AA 200 100




...全文
179 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
十一月猪 2006-12-21
  • 打赏
  • 举报
回复
or:


select 客户名称,
费用字段 as table1,
(select sum(MONEY) from table2 where tdid = table1.tdid) as table2
from table
kisa99 2006-12-21
  • 打赏
  • 举报
回复
create table TABLE1(tdID int,客户名称 varchar(50),费用字段 numeric(18,2))
insert into TABLE1 select 1,'AA',200

create table TABLE2(id int, tdid int, 字段1 money)
insert into TABLE2 select 1,1,50 union all
select 2,1,50

select a.客户名称,a.费用字段 as TABLE1费用,(a.费用字段-sum(b.字段1)) as TABLE2费用
from TABLE1 a inner join TABLE2 b on a.tdid = b.tdid
group by a.客户名称,a.费用字段
wzh1215 2006-12-21
  • 打赏
  • 举报
回复
select a.tdid,a.客户名称,a.费用字段,sum(b.字段1) as table2费用,a.费用字段-sum(b.字段1) as 差额
from table1 a left join table2 b on a.tdid=b.tdid group by a.tdid,a.客户名称,a.费用字段

34,590

社区成员

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

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