2

部品番号、操作順序、機械操作を含むテーブルを使用しています。目標は、部品番号ごとに次のマシン オペレーションを決定することです。

この例でそれを行うことができます。

SELECT MyTable.PARTNO ,
MyTable.PCOPT  -- Machine Op order of operation,
MyTable.MACHOP,
lead(MyTable.MACHOP) OVER (ORDER BY MyTable.PARTNO, ABS(MyTable.PCOPT))   
as      Nextmachop   
FROM    MyTable

--Results 
PARTNO    PCOPT MACHOP  Nextmachop
0123456     10  IST     70A
0123456     20  70A     INF
0123456     30  INF     60 
0123456     40  60      10C
0140244H    10  10C     30A
0140244H    20  30A     INF
0140244H    800 INF     60 
0140244H    810 60      DOC

私の問題は、次の異なる PARTNO に関しては、その MACHOP が NULL であるか、そこに何も入れてはならない場合に、その MACHOP を Nextmacho として取得することです。それを達成するためにこれをコーディングする方法がわかりません

4

1 に答える 1

2

必要なものpartition by:

SELECT t.PARTNO ,
       t.PCOPT  -- Machine Op order of operation,
       t.MACHOP,
       lead(t.MACHOP) OVER (PARTITION BY t.PARTNO ORDER BY ABS(MyTable.PCOPT)) as Nextmachop   
FROM MyTable t
于 2016-09-28T16:33:23.737 に答える