Comment listr les messages d'une table et en même time additionner une sum d'une autre table?

Tout d'abord, j'espère que mon anglais n'est pas trop mauvais ..

J'ai un problème que je ne peux pas résoudre. Le truc, c'est que je pense à un système de gestion des commands. Ce que j'ai jusqu'à présent, c'est une table où tous les articles qui appartiennent à une command comme celle-ci

Tbl_orderLines id, prod_week, article_id

Ensuite, j'ai aussi une table och où le montant de chaque ligne dans les registres tbl_orderLines comme celui-ci

Tbl_inventory orderline_id, article_id, montant

Maintenant article_id dans les deux arrays sont les mêmes (double post) pensé que ce serait plus facile de le faire? Ce que je veux, c'est get le montant disponible de chaque article spécifique à un moment précis. Donc, je veux être en mesure de listr chaque ligne dans Tbl_orderLInes et avec une jointure get le montant pour chaque ligne, mais! Je veux aussi get le montant total d'un article spécifique. Par conséquent, je veux additionner la colonne montant de Tbl_inventory où l'id article est le même que la ligne de tbl_orderLines.

C'est ce que j'ai maintenant Tbl_orderLines

id prod_week article_id 1 1130 2 2 1129 5 3 1129 2 4 1128 2 

Tbl_inventory

 orderLine_id article_id amount 1 2 1 2 5 2 3 2 1 4 2 2 

Le résultat devrait être quelque chose comme

 id prod_week article_id amount TotalAmount 1 1130 2 1 4 2 1129 5 2 2 3 1129 2 1 3 4 1128 2 2 2 

Je ne sais pas s'il est possible de comprendre ma question? J'utilise MSSQL ..

Beaucoup apprécie toute aide ..

Je crois que la première partie de votre set de résultats est réalisée par ce qui suit.

 SELECT [order_line].id, [order_line].prod_week, [order_line].article_id, [inventory].amount FROM Tbl_orderLines AS [order_line] INNER JOIN Tbl_inventory AS [inventory] ON [inventory].orderline_id = [order_line].id 

Cependant, je ne suis pas sûr à 100% de la colonne TotalAmount. Ma meilleure estimation est que vous voulez … La sum des montants pour toutes les semaines précédentes avec le même article_id?

 SELECT [order_line].id, [order_line].prod_week, [order_line].article_id, [inventory].amount, SUM([historic_inventory].amount) AS TotalAmount FROM Tbl_orderLines AS [order_line] INNER JOIN Tbl_inventory AS [inventory] ON [inventory].orderline_id = [order_line].id INNER JOIN Tbl_orderLines AS [historic_orders] ON [historic_orders].article_id = [order_line].article_id AND[historic_orders].prod_week <= [order_line].prod_week INNER JOIN Tbl_inventory AS [historic_inventory] ON [historic_inventory].orderline_id = [historic_order_line].id GROUP BY [order_line].id, [order_line].prod_week, [order_line].article_id, [inventory].amount 

Je ne peux pas get exactement ce que vous voulez, mais je crois que vous pouvez essayer quelque chose comme cela améliorer l'idée vers votre objective.

 CREATE TABLE [dbo].[inventory]( [id] [int] NULL, [article_id] [int] NULL, [amount] [int] NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[orderLines]( [id] [int] NULL, [prod_week] [int] NULL, [article_id] [int] NULL ) ON [PRIMARY] GO SELECT ol.id, ol.prod_week, ol.article_id, i.amount, SUM(amount) OVER (PARTITION BY i.article_id) AS totalAmount FROM dbo.orderLines AS ol, dbo.inventory AS i WHERE ol.id = i.id ORDER BY ol.id