日期:2014-05-17  浏览次数:20632 次

同数据库表间字段求和的问题?
1.我是想在Storage_kc这个表中,加一个'自动求和的字段','自动求和的字段'来源于同个数据库的3个表ck1_ls,ck2_sp,ck3_jz,这三个表有相同的数量字段Quantity_ck.
2.如:
表:Storage_kc
ID Name Age Quantity 
1  小王  29   80
2  小李  30   90
3  小张  50   100
4  小乔  25   70
5  小明  27   80

表:ck1_ls
ID KCID Quantity_ck ATTER
1   2       20       监时
2   3       5        临时

表:ck2_sp
ID KCID Quantity_ck BUEET
1   3      50        合同
2   4      10        合同

表:ck3_jz
ID KCID Quantity_ck XIITT
1   4      20        公务
2   3      20        公务

以下是效果表:
ID Name Age Quantity outQuantity
1  小王  29   80        NULL
2  小李  30   90        20
3  小张  50   100       75
4  小乔  25   70        30
5  小明  27   80        NULL

------解决方案--------------------
select a.*,b.Quantity_ck as outQuantity 
from Storage_kc a,
(
   select kcid,sum(Quantity_ck) from 
   (
      select kcid ,Quantity_ck from ck1_ls
      union all
      select kcid ,Quantity_ck from ck2_sp
      union all
      select kcid,Quantity_ck from ck3_jz
) t group by kcid
) b
where a.id = b.kcid

------解决方案--------------------
引用:
回1楼,a,b,t什么东西啊
别名啊老大。你可以不用别名,但是当表名很长很容易混乱(这些建议用别名)或者需要多次使用同一个表的时候(这个是必须用别名),别名的优势就提现出来了。