Mysql 如何对另一个表中没有匹配项的行求和?

Mysql 如何对另一个表中没有匹配项的行求和?,mysql,sql,Mysql,Sql,我将tbl\u交易详细信息和tbl\u收到的订单详细信息的数量相加。我的问题是我无法获取另一个表中没有匹配项的行。我想得到5,其中接收的\u详细信息\u id等于3。这是我的查询和表格 当我执行这个查询时 SELECT SUM(r.transact + f.received) Total FROM (SELECT received_order_details_id, SUM(quantity) transact FROM tbl_transaction_details GROUP

我将
tbl\u交易详细信息
tbl\u收到的订单详细信息
的数量相加。我的问题是我无法获取另一个表中没有匹配项的行。我想得到5,其中
接收的\u详细信息\u id
等于3。这是我的查询和表格

当我执行这个查询时

SELECT 
 SUM(r.transact + f.received) Total 
FROM
 (SELECT received_order_details_id, SUM(quantity) transact
FROM 
 tbl_transaction_details 
GROUP BY 
 tbl_transaction_details.received_order_details_id) r 
LEFT JOIN 
 (SELECT received_order_details_id, SUM(quantity) received  
FROM 
 tbl_received_order_details 
GROUP BY 
 tbl_received_order_details.received_order_details_id) f 
ON 
 r.received_order_details_id = f.received_order_details_id
它产生结果

Total
92
我希望这一切发生

Total
97

如果您只需要两个表中所有行的总数量,我建议在此处使用union查询:

SELECT SUM(qty) AS Total
FROM
(
    SELECT qty FROM tbl_transaction_details
    UNION ALL
    SELECT qty FROM tbl_received_order_details
) t;
您当前的方法没有给出您期望的结果,因为并非从每个表中收到的每个
的\u details\u id
都与另一个表中的一个匹配

请注意,您也可以只求和:

SELECT
    (SELECT SUM(qty) FROM tbl_transaction_details) +
    (SELECT SUM(qty) FROM tbl_received_order_details) AS Total;

如果您只需要两个表中所有行的总数量,我建议在此处使用union查询:

SELECT SUM(qty) AS Total
FROM
(
    SELECT qty FROM tbl_transaction_details
    UNION ALL
    SELECT qty FROM tbl_received_order_details
) t;
您当前的方法没有给出您期望的结果,因为并非从每个表中收到的每个
的\u details\u id
都与另一个表中的一个匹配

请注意,您也可以只求和:

SELECT
    (SELECT SUM(qty) FROM tbl_transaction_details) +
    (SELECT SUM(qty) FROM tbl_received_order_details) AS Total;

你回复得更快,我会删除我的:-)你回复得更快,我会删除我的:-)