我的任务是显示店主[用户ID]在过去一小时内交付的物品数量。以下是表格设计[订购父表] [订购子表]
订购父表:
子表:
使用条形码阅读器扫描物品,一旦扫描物品,它就会在数据库中更新,一旦它完成更新修改后的图章的订单。
如何处理这种情况?我是否需要更改数据库设计,还是可以使用当前设计来获取结果集?
我的输出:在前端,
最后一小时计数= 10
答案 0 :(得分:2)
假设列[Item Placed]
将提供将要交付的项目数。
SELECT SUM([Item Placed])
FROM [Order parent table] OP
JOIN [Order child table] OC ON OP.ID=OC.OrderID
WHERE OP.OrderStatus='D'
AND DATEDIFF(MINUTE, OP.[Order Modified Timestamp], GETDATE()) <= 60
AND [user Id] = 1 --mention the user id here
--AND OC.[Item Status]='D' --Apply this filter with valid status if you require child table stus
答案 1 :(得分:0)
这可能有所帮助:
SELECT ord.[User Id] ,
SUM(ISNULL(oc.ItemCount, 0)) Items
FROM [Order] ord
LEFT JOIN ( SELECT [Order ID] ,
COUNT(DISTINCT [Item Name]) ItemCount
FROM [OrderChild] oc
GROUP BY [Order ID]
) oc ON ord.[ID] = oc.[Order ID]
WHERE [Order Status] = 'D'
AND DATEDIFF(MINUTE, [Order Modified Timestamp], GETDATE()) <= 60
GROUP BY ord.[User Id];