将一个表中的总和添加到第二个表中

时间:2013-12-06 11:47:34

标签: mysql sql sql-server

我有两张桌子

Child_id (this is temporary table)
--------
1001
----------
1002
----------
1003
----------
1004
----------
1006

-

Child_id         Amount       (this table name is user_details)
-------------------
1001             100
--------------------
1002             250
--------------------
1003             100
--------------------
1004             150
--------------------
1008             400

现在我想从第二个表中添加两个child_id相同的第一个表中的总金额。 例如,此表的输出为600(添加量为1001,1002,1003,1004)。

请你能帮帮我吗。

4 个答案:

答案 0 :(得分:3)

你可以这样做:

SELECT SUM(u.amount)
FROM tempTable t
INNER JOIN user_details u ON t.child_id = u.child_id

这将导致两个表中具有child_id的记录的金额的总和

答案 1 :(得分:0)

试试这个: 此查询类似于Filipe Silva,但IFNULL检查异常情况下的金额。

SELECT 
    IFNULL(SUM(ud.amount),0)
FROM 
    user_details ud
INNER JOIN 
    temporary_table tt
ON 
    ud.child_id = tt.child_id

答案 2 :(得分:0)

创建表格

create table temporary_table (total_sum decimal(18, 2)) ;

插入数据

INSERT INTO temporary_table
SELECT SUM(u.amount)
FROM tempTable t
 JOIN user_details u ON t.child_id = u.child_id;

答案 3 :(得分:0)

如果你的桌子很大,那么这个变种就更好了

SELECT SUM(u.amount)
FROM user_details u
where exists (select * from tempTable t where t.child_id = u.child_id)