【发布时间】:2015-12-21 13:48:39
【问题描述】:
我有两张桌子。
一张表记录orderstock,有FK_stock和FK_orderNo
我想计算每件库存商品的订单数量。以下代码可以正常工作:
(1)
SELECT orderstock.FK_orderNo, Count(orderstock.FK_stock) AS CountOfFK_stock
FROM stock INNER JOIN orderstock ON stock.StockID = orderstock.FK_stock
GROUP BY orderdemo.FK_orderNo
但是,我希望对此进行补充,以便仅列出不易腐烂 (stock.perishable=0) 的库存物品。所以像
SELECT orderstock.FK_orderNo, Count(orderstock.FK_stock) AS CountOfFK_stock
FROM stock INNER JOIN orderstock ON stock.stockID = orderstock.FK_stock
WHERE stock.perishable=0
GROUP BY orderstock.FK_orderNo
我如何访问与 FK_stock 相关的信息来完成这项工作?当我尝试将库存表中的信息组合到此目的时,每项库存都是单独计算的。
(1) 的结果
FK_OrderNo CountOfFK_Stock
9 10
104 8
105 3
106 10
107 8
108 10
109 11
110 9
期望的结果(类似):
FK_OrderNo CountOfFK_Stock
9 7
104 8
105 3
106 4
107 7
108 2
109 11
110 6
【问题讨论】:
-
样本数据和预期结果会有所帮助
-
@VR46 好吧,上面列出的所有属性、表名等都是假的,以使问题更具吸引力……
-
是的,假列名提供了一些数据和预期结果
-
stock.StudentID = orderstock.FK_stock - 您确定将 studentid 与 stockid 匹配是个好主意吗?如果是,那么您的第二个查询似乎是正确的。请描述您收到的任何错误消息或遇到的意外行为,因为我们不知道您的数据库结构和数据。
-
如果没有源数据(orderstock 和 stock 表),此示例输出将无济于事