首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

如用SQL语句进行多表关联汇总,该怎么解决

2012-01-23 
如用SQL语句进行多表关联汇总A表ID  名称   1c2    d    3    e    4    f    B表ID名称数量1c12d13e14e15

如用SQL语句进行多表关联汇总
A表  
  ID   名称   
  1 c  
  2    d      
  3    e     
  4    f     
   
  B表  
  ID 名称 数量  
  1 c 1  
  2 d 1  
  3 e 1  
  4 e 1  
  5 f 2  
   
  C表  
  ID 名称 数量  
  1 a 1  
  2 c 1  
  3 e 1  
  4 e 1  
  5 f 2
  1 a 1  
  2 c 1  
  3 e 1  
  4 e 1  
  5 f 2

返回
  名称 A表总数量 c表总数量
  c 1 2
  d 1 0
  e 2 4
  f 2 2
如何用SQL语句达到目标

[解决办法]

SQL code
select a.名称,sum(a.数量) as A表总数量,isnull(sum(c.数量),0) as c表总数量from a left join c on a.名称=c.名称
[解决办法]
SQL code
select  a.名称,  isnull(b.数量,0) B表总数量,  isnull(c.数量,0) C表总数量from   Aleft join  (select 名称,sum(数量) as 数量 from B group by 名称) bon  a.名称=b.名称left join   (select 名称,sum(数量) as 数量 from C group by 名称) con  a.名称=c.名称
[解决办法]
select 名称,
sum( bnum ) as b表总数量,
sum( cnum ) as c表总数量
from (
select a.名称, isnull(b.数量, 0) as bnum, isnull(c.数量, 0 ) as cnum 
from a left jion b on b.名称 = a.名称
left jion c on c.名称 = a.名称 ) temp_t
group by 名称

热点排行