Предположим, у меня есть список Клиентов, и я хочу выделить их на шину. У меня есть Джон, Ринго, Пол ... и они могут путешествовать по Розовому или зеленому автобусу. Идея заключается в том, что распределение будетОбновление таблицы с записями в последовательном порядке
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() над' для присвоения порядкового номера. Сопоставьте порядковый номер с шиной через оператор case или таблицу сопоставления, затем обновите на основе порядкового номера –