Comment récupérer le nombre d'loggings mis à jour dans la table à l'aide de SQL Server?

Ma tâche consiste à montrer le nombre d'articles livrés par le commerçant [identifiant de l'user] pour la dernière heure. Ci-dessous sont les designs de la table [Table des parents de command] [Table des enfants de command]

Ordre parent table:

entrez la description de l'image ici

Table enfant:

entrez la description de l'image ici

Les articles sont scannés à l'aide d'un lecteur de code-barres, une fois qu'il est scanné, il est mis à jour dans la database, une fois qu'il a rempli l'ordre, il a mis à jour le tampon modifié.

Comment aborder ce scénario? Ai-je besoin de modifier la design de la database ou puis-je utiliser la design actuelle pour get le jeu de résultats?

Ma sortie: À l'avant,

Dernier count d'une heure = 10

En supposant que la colonne [Item Placed] fournira le nombre d'articles qui seront livrés.

 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 

Cela peut aider:

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