我有两张桌子。第一个包含产品代码,第二个包含产品代码和数量。
现在我想总结每个产品代码的所有数量,即使第二个表中没有所有产品。 输出应该是产品代码和每个代码的总数量,对于没有数量的代码,它应该是0。
**Table1** productName | -------------- a | b | c | d | e | **Table2** productName | QTY | ---------------------- a | 3 | b | 4 | a | 1 | b | 2 | c | 1 | **Output** productName | QTY | ---------------------- a | 4 | b | 6 | c | 1 | d | | e | |
SELECT tbl1.productname, SUM(tbl2.qty) AS TotQTY
FROM tbl1
INNER JOIN tbl2 ON tbl1.productname = tbl2.productname
group by tbl1.productname
这是我在SQL Fiddle
中的尝试我只能获得带有数量的记录,但不会显示其他记录。
答案 0 :(得分:1)
SELECT Table1.productName, SUM(Table2.qty) AS TotQTY
FROM Table1
LEFT JOIN Table2 ON Table1.productName = Table2.productName
group by Table1.productName
答案 1 :(得分:1)
这似乎是你想要的: -
SELECT Table1.productName, COALESCE(SUM(Table2.qty),0) AS TotQTY
FROM Table1
LEFT JOIN Table2 ON Table1.productName = Table2.productName
GROUP BY Table1.productname
SQLfiddle: -
答案 2 :(得分:1)
SELECT Table1.productName,COALESCE(SUM(Table2.qty),0) AS TotQTY
FROM Table1
LEFT JOIN Table2 ON Table1.productName = Table2.productName
group by Table1.productName