SQL Server: просмотр СЛУЧАЙ КОГДА-ЛИБО КОНЕЦ ROWNUMBER + последнее значение - PullRequest
0 голосов
/ 14 ноября 2018

Таблица

Я пытаюсь добавить в каждую строку значение последнего КОЛИЧЕСТВА ТОГО ЖЕ элемента.Как я могу это сделать?Вот идея, которая, как мне кажется, может сработать:

USE [Data_Test]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE VIEW [dbo].[View_Solde]
AS
SELECT [ItemCode]
  ,[Doc_#/Stock_Min]
  ,[DocDate]
  ,[Qty]
  ,[DESCR]
  , Solde =
  CASE ItemCode
  WHEN ItemCode.Row2"="ItemCode.Row1 THEN Qty.Row2"+" Solde.Row1 ELSE Qty.Row2 END
  WHEN ItemCode.Row3"="ItemCode.Row2 THEN Qty.Row3"+" Solde.Row2 ELSE Qty.Row3 END
  WHEN ItemCode.Row4"="ItemCode.Row3 THEN Qty.Row4"+" Solde.Row3 ELSE Qty.Row4 END
  WHEN ItemCode.Row5"="ItemCode.Row4 THEN Qty.Row5"+" Solde.Row4 ELSE Qty.Row5 END
  WHEN ItemCode.Row6"="ItemCode.Row5 THEN Qty.Row6"+" Solde.Row5 ELSE Qty.Row6 END
  WHEN ItemCode.Row7"="ItemCode.Row6 THEN Qty.Row7"+" Solde.Row6 ELSE Qty.Row7 END
  WHEN ItemCode.Row8"="ItemCode.Row7 THEN Qty.Row8"+" Solde.Row7 ELSE Qty.Row8 END
  WHEN ItemCode.Row9"="ItemCode.Row8 THEN Qty.Row9"+" Solde.Row8 ELSE Qty.Row9 END
  WHEN ItemCode.Row10"="ItemCode.Row9 THEN Qty.Row10"+" Solde.Row9 ELSE Qty.Row10 END
  WHEN ItemCode.Row11"="ItemCode.Row10 THEN Qty.Row11"+" Solde.Row10 ELSE Qty.Row11 END
  WHEN ItemCode.Row12"="ItemCode.Row11 THEN Qty.Row12"+" Solde.Row11 ELSE Qty.Row12 END
  WHEN ItemCode.Row13"="ItemCode.Row12 THEN Qty.Row13"+" Solde.Row12 ELSE Qty.Row13 END
  WHEN ItemCode.Row14"="ItemCode.Row13 THEN Qty.Row14"+" Solde.Row13 ELSE Qty.Row14 END
  WHEN ItemCode.Row15"="ItemCode.Row14 THEN Qty.Row15"+" Solde.Row14 ELSE Qty.Row15 END
  WHEN ItemCode.Row16"="ItemCode.Row15 THEN Qty.Ro16"+" Solde.Row15 ELSE Qty.Row16 END
  WHEN ItemCode.Row17"="ItemCode.Row16 THEN Qty.Row17"+" Solde.Row16 ELSE Qty.Row17 END
  WHEN ItemCode.Row18"="ItemCode.Row17 THEN Qty.Row18"+" Solde.Row17 ELSE Qty.Row18 END
  WHEN ItemCode.Row19"="ItemCode.Row18 THEN Qty.Row19"+" Solde.Row18 ELSE Qty.Row19 END
  WHEN ItemCode.Row20"="ItemCode.Row19 THEN Qty.Row20"+" Solde.Row19 ELSE Qty.Row20 END
ORDER BY [ItemCode]


GO

Я пытался использовать

SELECT TOP 100 [ItemCode]
  ,[Doc_#/Stock_Min]
  ,[DocDate]
  ,[Qty]
  ,[DESCR],
  sum(Qty) over (partition by ItemCode) as Solde
  FROM [Data_Warehouse].[dbo].[Inventory]
  order by ItemCode

Возвращает желаемый результат, но это не совсем так, потому что я просто вижу всеиз них с тем же значением, которое я хочу, чтобы я тоже мог видеть, насколько он был увеличен с момента последнего.

1 Ответ

0 голосов
/ 14 ноября 2018

Попробуйте что-нибудь подобное.Итоговый итог по разделам

...