Với cấu trúc bảng sau đây, là biểu diễn cho tuyến xe buýt nơi hành khách lên và xuống xe buýt với cảm biến cửa. Và, có một người ngồi trên xe buýt đó với một cái kẹp giữ một số điểm.Tính tải và tránh con trỏ
CREATE TABLE BusLoad(
ROUTE CHAR(4) NOT NULL,
StopNumber INT NOT NULL,
ONS INT,
OFFS INT,
SPOT_CHECK INT)
go
INSERT BusLoad VALUES('AAAA', 1, 5, 0, null)
INSERT BusLoad VALUES('AAAA', 2, 0, 0, null)
INSERT BusLoad VALUES('AAAA', 3, 2, 1, null)
INSERT BusLoad VALUES('AAAA', 4, 6, 3, 8)
INSERT BusLoad VALUES('AAAA', 5, 1, 0, null)
INSERT BusLoad VALUES('AAAA', 6, 0, 1, 7)
INSERT BusLoad VALUES('AAAA', 7, 0, 3, null)
Tôi muốn thêm cột "LOAD" vào bảng này để tính toán tải tại mỗi điểm dừng.
tải = dừng Previous tải + dừng ONS hiện tại - offs hiện tại dừng nếu SPOT_CHECK là null, nếu không LOAD = SPOT_CHECK
Kết quả mong đợi:
ROUTE StopNumber ONS OFFS SPOT_CHECK LOAD
AAAA 1 5 0 NULL 5
AAAA 2 0 0 NULL 5
AAAA 3 2 1 NULL 6
AAAA 4 6 3 8 8
AAAA 5 1 0 NULL 9
AAAA 6 0 1 7 7
AAAA 7 0 3 NULL 4
tôi có thể làm điều này với một con trỏ, nhưng có cách nào để thực hiện nó bằng truy vấn không?
Bạn cũng có thể đăng tập hợp kết quả mong đợi không? –
Bạn đang sử dụng phiên bản SQL Server nào? –
2008 hoặc mới hơn là tốt –