簡體   English   中英

聯接2個表,求和和分組

[英]Join 2 tables, sum and group by

應該很簡單,但是我是SQL的新手,無法正常工作:

Table 1:
ID        Qty
ItemA     3 
ItemB     5  
ItemD     2 

Table 2:
ID        Qty
ItemC    -1
ItemB    1.5 
ItemE     2.2

我只想要一張表格,其中包含按ID匯總的數量。

像這樣:

SELECT ID, SUM(Qty) SumQty
FROM
(
    SELECT ID, Qty FROM Table1
    UNION ALL
    SELECT ID, Qty FROM Table2
) A
GROUP BY ID

這將對“ Qty字段求和並按ID分組:

SELECT
    a.ID AS id,
    (SUM(a.Qty) + SUM(b.Qty)) as qty_sum
FROM
    [Table 1] as a
        JOIN
    [Table 2] as b ON (a.ID = b.ID)
GROUP BY 1;

您應該從此示例中摘錄的關鍵部分是:

  1. JOIN這就是您如何將兩個表連接起來。 注意,通過“ ON”確保兩個表中的ID都匹配(a.ID = b.ID)
  2. 使用SUM函數可得到總計。
  3. GROUP BY分組...

與@patsweet相似,但是使用INNER JOIN並且格式更易於閱讀

SELECT  SUM(t1.Qty + t1.Qty) AS TotalQty ,
        t1.ID
FROM    [Table 1] t1
        INNER JOIN [Table 2] t2 WITH (NOLOCK) ON t2.ID = t1.ID
GROUP BY t1.ID

暫無
暫無

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

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