小编L R*_*ley的帖子

SQL Server 2008版本的OVER(...行无限制的前置)

寻找帮助,将其转换为SQL Server 2008友好版本,因为我无法解决。我尝试了交叉应用和内部联接(不是说我做对了)都无济于事...有什么建议吗?

这实际上是做一个库存表和一个订单表。并将两者结合起来,告诉我一旦库存被拿走该怎么办(有关更多详细信息,请参阅我之前的问题,更多详细信息

WITH ADVPICK
     AS (SELECT 'A'                  AS PlaceA,
                placeb,
                CASE
                  WHEN picktime = '00:00' THEN '07:00'
                  ELSE ISNULL(picktime, '12:00')
                END                  AS picktime,
                Cast(product AS INT) AS product,
                prd_description,
                -qty                 AS Qty
         FROM   t_pick_orders
         UNION ALL
         SELECT 'A'               AS PlaceA,
                placeb,
                '0',
                Cast(code AS INT) AS product,
                NULL,
                stock
         FROM   t_pick_stock),
     STOCK_POST_ORDER
     AS (SELECT *,
                Sum(qty)
                  OVER (
                    PARTITION BY placeb, product
                    ORDER BY picktime ROWS UNBOUNDED PRECEDING ) AS new_qty
         FROM   ADVPICK)
SELECT …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2008 window-functions

5
推荐指数
1
解决办法
1940
查看次数