动态LAG功能

问题描述 投票:0回答:1

我正在尝试基于动态滞后函数获得估价,我不会获得。我有一个看起来像这样的表,我想要的是序列号产品的值比我当前的序列号高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的产品的值...

tsql lag rank
1个回答
1
投票

我可能在这里使用lead而不是lag

© www.soinside.com 2019 - 2024. All rights reserved.