![](/img/trans.png)
[英]MySQL: How to select and display ALL rows from one table, and calculate the sum of a where clause on another table?
[英]to display all records from one table and sum of rows from another table
我有两个表HouseKeeping与字段RoomNo,FloorNo,StockItem,Requirement和Stock表,字段Item,Available.I想要选择HouseKeeping表中的所有行和stock表中的需求总和。我使用此查询来获取需求总和从库存表
SELECT SUM(Requirement) AS Requirement, StockItem FROM HouseKeeping GROUP BY StockItem
除此之外我还想要所有记录(从库存中选择*)。怎么做? 请尽快回复。谢谢
如果我理解正确的话:
像这样JOIN
两个表:
SELECT h.stockItem, SUM(h.Requirement)
FROM HouseKeeping h
INNER JOIN Stock s ON h.stockItem = s.Item
GROUP BY h.stockItem
这将仅为您在其他表stock
中具有Requirement
的项目提供所有Requirement
值的总和。
如果要包含那些不匹配的项目,即: stock
表中没有项目。 使用LEFT JOIN
而不是INNER JOIN
和ISNULL(SUM(h.Requirement)
来设置0而不是NULL
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.