我需要一种为LEAD
函数SQL动态使用偏移量的方法。我的数据结构如下:
我要完成的工作是使用相同的D365Object
从下一行检索GMLD
的值,如下所示:
我对示例文件的查询如下:
SELECT [D365ODept],[D365OObject],[GMLDA]
FROM [JDE].[F0901]
WHERE isnumeric([D365OObject]) = 1
GROUP BY [D365ODept],[D365OObject],[GMLDA]
ORDER BY [D365ODept],[D365OObject],[GMLDA]
答案 0 :(得分:1)
根据@ZLK在评论中的建议...
CREATE TABLE F0901
(
D365ODept VARCHAR(50),
D365OObject VARCHAR(10),
GMLDA INT,
);
INSERT INTO F0901 (D365ODept, D365OObject, GMLDA) VALUES ('00', '01100', '6');
INSERT INTO F0901 (D365ODept, D365OObject, GMLDA) VALUES ('00', '01100', '7');
INSERT INTO F0901 (D365ODept, D365OObject, GMLDA) VALUES ('00', '01200', '5');
INSERT INTO F0901 (D365ODept, D365OObject, GMLDA) VALUES ('00', '01210', '6');
INSERT INTO F0901 (D365ODept, D365OObject, GMLDA) VALUES ('00', '01210', '7');
INSERT INTO F0901 (D365ODept, D365OObject, GMLDA) VALUES ('00', '01250', '6');
SELECT f.D365ODept
,f.D365OObject
,f.GMLDA
,LEAD(f.D365OObject) OVER (PARTITION BY f.GMLDA ORDER BY f.D365OObject) as next_D365OObject
FROM F0901 f;
如果您选择在代码中包含构建和加载模式(而不是图像)的代码,那么会有更多的人对回答感兴趣。
点击此处了解how to format code blocks
希望这会有所帮助。