我有一种情况,我需要在一个位置匹配资产的到达和离开。问题是资产移动并不总是按时间顺序输入数据库,也没有任何当前的方法将数据库中的到达和离开联系在一起。
注意事项:
表的结构(类似)如下:
CREATE TABLE Movements
(
MoveID int IDENTITY (1,1),
ItemID int,
EventType CHAR,
moveTime datetime,
LocID int,
ShelfID int,
altShelfID int
)
Run Code Online (Sandbox Code Playgroud)
我已经包含了测试数据:
SET IDENTITY_INSERT movements on
INSERT INTO movements
(MoveID,ItemID,EventType,moveTime,LocID,ShelfID,altShelfID)
VALUES(1,3,'A','2013-01-05 09:00',1,3,NULL)
INSERT INTO movements
(MoveID,ItemID,EventType,moveTime,LocID,ShelfID,altShelfID)
VALUES(2,3,'D','2013-01-06 13:00',1,3,NULL)
INSERT INTO movements
(MoveID,ItemID,EventType,moveTime,LocID,ShelfID,altShelfID)
VALUES(3,3,'A','2013-01-07 09:00',1,3,NULL)
INSERT INTO movements
(MoveID,ItemID,EventType,moveTime,LocID,ShelfID,altShelfID)
VALUES(4,3,'A','2013-01-15 09:00',1,3,NULL)
INSERT INTO movements
(MoveID,ItemID,EventType,moveTime,LocID,ShelfID,altShelfID)
VALUES(5,3,'D','2013-01-07 15:00',1,3,NULL)
INSERT INTO movements
(MoveID,ItemID,EventType,moveTime,LocID,ShelfID,altShelfID)
VALUES(6,3,'A','2013-01-16 09:00',2,NULL,7) …
Run Code Online (Sandbox Code Playgroud)