SQL两个表求和(急)

两个表
t1:
ID 卡号 分值
1 001 10
2 002 20

t2:
ID 卡号 分值
1 001 10
2 001 20
3 002 10
4 002 15

现在我想要t1表的分值 + t2表的分值的和 (T2表同一个卡号可能有多条记录分值)

第1个回答  2010-05-12
一可以利用视图的方法(好处是节约空间的内存,不会保护数据的安全性)
(建立视图)
CREATE VIEW T3
AS
SELECT 卡号,分值
FROM t1
UNION ALL (UNION ALL:将多个查询结果合并起来时,保留重复元组 )
SELECT 卡号,分值
FROM t2
(查询视图)
SELECT 卡号,SUM(分值)
FROM T3
group by 卡号
二,可以直接查询
select 卡号,sum(分值)
from(
select *
from t1
union all
select *
from t2
) a
group by 卡号
和建立视图的原理是一样的~
第2个回答  2010-05-12
select sum(fen) from (select 卡号,sum(分值) as fen from t1 group by 卡号 union select 卡号,sum(分值) as fen from t2 group by 卡号) group by 卡号
第3个回答  2010-05-12
select a.卡号,a.分值+b.分值
from t1 a,(select 卡号,sum(分值) from t2 group by 卡号) b
where a.卡号=b.卡号本回答被提问者采纳
第4个回答  2010-05-12
select 卡号,sum(分值)
from(
select *
from t1
union all
select *
from t2
) a
group by 卡号
相似回答
大家正在搜