Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT i.*,
- LAST_VALUE(i.QTY_END) OVER (PARTITION BY YEAR(i.datephysical),
- MONTH(i.datephysical),
- i.itemid,
- i.inventlocationid
- ORDER BY YEAR(i.datephysical) ASC,
- MONTH(i.datephysical) ASC,
- i.datephysical ASC
- ROWS BETWEEN CURRENT ROW
- AND UNBOUNDED FOLLOWING) AS last_val
- INTO #CTE
- FROM [tmp].[dbo].[Test] i WITH (NOLOCK)
- JOIN [tmp].[dbo].[DATELIST] d WITH (NOLOCK) ON i.datephysical = d.datelist
- WHERE YEAR(d.datelist) = 2016
- AND ITEMID = 'G_K100600'
- AND i.QTY_MOVE != 0
- SELECT DISTINCT
- ItemID,
- B.LastDayMonth
- INTO #ITEM
- FROM #CTE AS A
- CROSS JOIN #DateList AS B
- SELECT DISTINCT
- B.ItemID,
- A.INVENTLOCATIONID,
- B.LastDayMonth,
- A.last_val
- INTO #Result
- FROM #CTE AS A
- FULL JOIN #ITEM AS B ON B.LastDayMonth = A.LastDayMonth
- AND B.ITEMID = A.ITEMID
- ORDER BY B.LastDayMonth ASC
- SELECT t.*,
- ISNULL(LAST_Val, LAG(Last_Val) OVER (PARTITION BY YEAR(t.LastDayMonth),
- MONTH(t.LastDayMonth)--,
- --t.LastDayMonth
- ORDER BY ITEMID,LastDayMonth ASC)
- ) AS wf
- FROM (
- SELECT a.ITEMID,
- a.LastDayMonth,
- SUM(a.Last_Val) as [Last_Val]
- FROM #Result a
- GROUP BY ITEMID,
- LastDayMonth ) t
Add Comment
Please, Sign In to add comment