求SQL语句,两张表结果某个字段相加

时间:2021-05-28 15:01:24
我有三张表,其中两张报表做关联SQL语句比如,select a.id,b.mc,sum(b.sl*b.cs) from a表 a,b表 b where a.1=b.1 and b.mc=XXX group by a.id,a.mc  这样我得出这样一个结果是 
id      mc     sum(b.sl*b.cs)   
100    XXX       2
101    XXX       3
102    XXX       1
103    XXX       2 
这样一个结果
然后我又有另外一个语句 select id,,mc,sum(sl*cs+bctl) from c表 where id=XXXX group by id,mc 得出结果
id    mc     sum(sl*cs+bctl)
100   XXX        2
101   XXX        4
103   XXX        3
其中 MC=XXX两个字段都是一样相同的,我想用一条语句,得出这两个表的最后一列SUM和SUM的相加结果,就是如下结果
id   mc      sum+sum结果
100  XXX       4
101  XXX       7
102  XXX       1
103  XXX       5
谢谢大家

7 个解决方案

#1


没有看懂什么意思

#2


我解释的还不够详细吗,说通俗点,就是两个不关联的表相加,其中两个表数量相加,ID MC不变,
a表
ID     MC     SUM(XXXX)
100    XXXX      1
b表
ID     MC     SUM(XXXXX)
100    XXXX      2        得出
ID     MC      SUM
100    XXXX      3 

#3


确实还不够详细  数据可以再具体一点  一个表里面id什么的 应该会有重复的吧?

#4


select id,mc,sum(s)
from 
(select a.id id,b.mc mc,sum(b.sl*b.cs) s from a表 a,b表 b where a.1=b.1 and b.mc=XXX group by a.id,a.mc
union all
select id,,mc,sum(sl*cs+bctl) s from c表 where id=XXXX group by id,mc )
group by id,mc
 

#5


引用 4 楼  的回复:
select id,mc,sum(s)
from 
(select a.id id,b.mc mc,sum(b.sl*b.cs) s from a表 a,b表 b where a.1=b.1 and b.mc=XXX group by a.id,a.mc
union all
select id,,mc,sum(sl*cs+bctl) s from c表 where ……

+1

#6


引用 4 楼  的回复:
SQL code
select id,mc,sum(s)
from 
(select a.id id,b.mc mc,sum(b.sl*b.cs) s from a表 a,b表 b where a.1=b.1 and b.mc=XXX group by a.id,a.mc
union all
select id,,mc,sum(sl*cs+bctl) s from c表 where id=XX……


+1

#7


谢谢4楼,根据你的语句 可以了,终于解决了,那也结贴了

#1


没有看懂什么意思

#2


我解释的还不够详细吗,说通俗点,就是两个不关联的表相加,其中两个表数量相加,ID MC不变,
a表
ID     MC     SUM(XXXX)
100    XXXX      1
b表
ID     MC     SUM(XXXXX)
100    XXXX      2        得出
ID     MC      SUM
100    XXXX      3 

#3


确实还不够详细  数据可以再具体一点  一个表里面id什么的 应该会有重复的吧?

#4


select id,mc,sum(s)
from 
(select a.id id,b.mc mc,sum(b.sl*b.cs) s from a表 a,b表 b where a.1=b.1 and b.mc=XXX group by a.id,a.mc
union all
select id,,mc,sum(sl*cs+bctl) s from c表 where id=XXXX group by id,mc )
group by id,mc
 

#5


引用 4 楼  的回复:
select id,mc,sum(s)
from 
(select a.id id,b.mc mc,sum(b.sl*b.cs) s from a表 a,b表 b where a.1=b.1 and b.mc=XXX group by a.id,a.mc
union all
select id,,mc,sum(sl*cs+bctl) s from c表 where ……

+1

#6


引用 4 楼  的回复:
SQL code
select id,mc,sum(s)
from 
(select a.id id,b.mc mc,sum(b.sl*b.cs) s from a表 a,b表 b where a.1=b.1 and b.mc=XXX group by a.id,a.mc
union all
select id,,mc,sum(sl*cs+bctl) s from c表 where id=XX……


+1

#7


谢谢4楼,根据你的语句 可以了,终于解决了,那也结贴了