我正在尝试基于动态滞后函数获得估价,我不会获得。我有一个看起来像这样的表,我想要的是序列号产品的值比我当前的序列号高1]
+--------+---------+--------+------------------------+----------+
| Client | Product | Ser_No | Product Ser_No+1 I get | Expected |
+--------+---------+--------+------------------------+----------+
| 1 | A | 1 | B | B |
+--------+---------+--------+------------------------+----------+
| 1 | B | 2 | C | C |
+--------+---------+--------+------------------------+----------+
| 1 | C | 3 | D | F |
+--------+---------+--------+------------------------+----------+
| 1 | D | 3 | E | F |
+--------+---------+--------+------------------------+----------+
| 1 | E | 3 | F | F |
+--------+---------+--------+------------------------+----------+
| 1 | F | 4 | null | null |
+--------+---------+--------+------------------------+----------+
| 2 | D | 1 | E | E |
+--------+---------+--------+------------------------+----------+
| 2 | E | 2 | F | G |
+--------+---------+--------+------------------------+----------+
| 2 | F | 2 | G | G |
+--------+---------+--------+------------------------+----------+
| 2 | G | 3 | H | H |
+--------+---------+--------+------------------------+----------+
| 2 | H | 4 | I | I |
+--------+---------+--------+------------------------+----------+
| 2 | I | 5 | null | null |
+--------+---------+--------+------------------------+----------+
我唯一能想到的就是Lag(product,1),但这并不是我现在想要的。有什么想法吗?
这是我现在正在做的事情:
LEAD(Product, 1) OVER(PARTITION BY Cliënt ORDER BY Ser_No ASC)
但是问题是第3、4和8行。在这里,我需要的不是下一行的产品代码,而是下一个Ser_No的产品代码
我正在尝试基于动态滞后函数获得估价,我不会获得。我有一个看起来像这样的表,我想要的是序列号中乘积高1的产品的值...
我可能在这里使用lead
而不是lag
: