簡體   English   中英

左外連接SQL不起作用

[英]Left outer join sql not working

在我的Android應用中,我有一個包含兩行的數據庫。

 table1          table2     
 |_id | name |   |_id | table1_id |amount

我想有一個返回表一中與該行量的總和增加的每一行表2中與對應於_id表1.這是一個table1_id各行的查詢是什么,我想出了到目前為止:

SELECT table1._id, table1.name, SUM(amount) 
FROM table1 LEFT OUTER JOIN table2 
USING(table1._id,table2.table1._id) ;

當表1完全為空(結果|-|-| 0 |)時,該值也將在SUM(amount)列中返回一個帶有0的行。 我希望當table1為空時結果完全為空。 table1的特定行沒有對應關系時,我希望將它們僅增加0。

有任何改進查詢的想法嗎?

您可以在加入之前group by

SELECT          t1._id, t1.name, t2.sum_amount
FROM            table1 t1
LEFT OUTER JOIN (SELECT   table1_id, SUM(amount) AS sum_amount
                 FROM     table2 
                 GROUP BY table1_id) t2 
             ON t1._id = t2.table1_id;
SELECT 
    table1._id, table1.name, SUM(IFNull(amount,0)) 
FROM
    table1 LEFT OUTER JOIN table2 
ON 
    table1._id = table2.table1._id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM