我有两张桌子
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)。
请你能帮帮我吗。
答案 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)