假設我有一個客戶端列表,並且我想將它們分配給一個總線。我有約翰,林戈,保羅.....他們可以在粉紅色或綠色巴士上旅行。這個想法是,配置將是以連續順序更新包含記錄的表格
John: Pink
Ringo: Green
Paul: Pink
有沒有人知道如何做到這一點,而不訴諸循環聲明?
--DROP TABLE [BusAllocation]
CREATE TABLE [dbo].[BusAllocation]
(
[ClientName] [varchar](50) NOT NULL,
[BusAllocation] [varchar](50) NULL
);
INSERT INTO BusAllocation([ClientName]) VALUES('John');
INSERT INTO BusAllocation([ClientName]) VALUES('Ringo');
INSERT INTO BusAllocation([ClientName]) VALUES('Paul');
INSERT INTO BusAllocation([ClientName]) VALUES('Simon');
INSERT INTO BusAllocation([ClientName]) VALUES('Tyrone');
CREATE TABLE [dbo].[Bus]
(
BusName [varchar](50) NOT NULL,
);
INSERT INTO [Bus](BusName) VALUES('Pink');
INSERT INTO BusAllocation([ClientName]) VALUES('Green');
使用'ROW_NUMBER()over'指定序號。通過case語句或映射表將序號映射到公共汽車,然後根據序號更新 –