繁体   English   中英

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

[英]How to retrieve count of records updated in table using SQL Server?

我的任务是显示商店老板[用户ID]在过去一小时内交付的商品数量。 以下是表格设计[订购父表] [订购子表]

订单父表:

在此处输入图片说明

子表:

在此处输入图片说明

使用条形码读取器扫描物品,一旦扫描物品,它就会在数据库中更新,一旦它满足了它更新修改后的图章的顺序。

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

我的输出:在前端,

最近一小时计数= 10

假设[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

这可能会有所帮助:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM