У меня есть следующая таблица:
DECLARE @OperatorPrice TABLE
(
ID INT NOT NULL, DealerId INT NULL, DealerName VARCHAR(50) NULL
)
и пример данных:
INSERT INTO @OperatorPrice
(
ID, DealerId, DealerName
)
VALUES
(226, 1, 'WestCarDealer')
, (112, 1, 'WestCarDealer')
, (266, 2, 'AO')
, (112, 2, 'AO')
, (93, 3, 'Best on the West')
, (93, 3, 'Best on the West')
Я хочу переименовать всех дилеров в «Дилер1», «Дилер2», «Дилер3».».Номер должен быть назначен в порядке возрастания: AO
должен быть переименован в 'Dealer1', поскольку AO
начинается с A
, Best on the West
должен быть переименован в Dealer2
, поскольку он начинается с B
, WestCarDealer
должен быть переименован в Dealer3
, потому что он начинается с W
.
Таким образом, желаемый результат должен выглядеть следующим образом:
(226, 1, 'Dealer3')
, (112, 1, 'Dealer3')
, (266, 2, 'Dealer1')
, (112, 2, 'Dealer1')
, (93, 3, 'Dealer2')
, (93, 3, 'Dealer2')
Приблизительное количество уникальных DealerName
равно 50дилеры.
Как я могу переименовать автосалоны таким образом?
Я пытался использовать курсоры для этой цели, но не смог сохранить число для увеличения.