Sql-Server
如何在 SQL Server 中使用 SUM 和 GROUP BY 連接兩個表
我有 2 張桌子
- 產品
2)子產品
我想要的是:產品表中的指定和代表具有相同product_id的數量的總和的總數量
注意:我使用 SQL 伺服器
這可以簡單地使用一個
JOIN
andGROUP_BY
子句來完成,如下所示:SELECT p.designation, SUM(ISNULL(sp.quantity, 0)) AS [total quantity] FROM product AS p LEFT JOIN sub_product AS sp ON p.id = sp.product_id GROUP BY p.id, p.designation
請注意使用 a
LEFT OUTER JOIN
(aka aLEFT JOIN
) 以確保即使products
沒有任何sub_products
仍然返回 (atotal quantity
為 0)。sub_product
如果可以保證每次都至少有 1 個,product
那麼您可以使用 anINNER JOIN
來代替。