如何检索使用SQL Server在表中更新的记录数?

问题描述:

我的任务是显示店主[用户ID]最近一小时交付的物品的数量。下面是表的设计[订购父表] [在线订购子表]如何检索使用SQL Server在表中更新的记录数?

订购父表:

enter image description here

子表:

enter image description here

项目是通过使用条码扫描读取器,一旦扫描它就更新数据库,一旦它完成了它更新修改后的邮票的命令。

如何处理这种情况?我是否需要更改数据库设计,还是可以使用当前设计来获取结果集?

我的输出:在前端,

持续一个小时计数= 10

+1

您能否将结果更新为文字 – TheGameiswar

假设柱[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 
+0

获得结果集的项目交付,但我正在寻找更深入。可以和你聊天吗? – Anjali

+0

sure .. but .. ..没有用过.. .. :) –

这可有助于:

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]; 
+0

订单状态在此不是必需的,我的问题是他在最近一小时内交付了多少物品。 – Anjali

+1

删除[订单状态] ='D'过滤器来实现你想从我的查询中得到的东西。结果将是每个用户在您的[订单]表 – Yared