У меня есть одна таблица (customerselection), в котором перечислены номера клиентов и промо-коды:SQL Server - Уникально обновление одной таблицы на основе категории записей в другой таблице
CustomerNumber | Promo
12345 | ABCDEF
54321 | BCDEFG
22334 | BCDEFG
54678 | BCDEFG
23454 | ABCDEF
И еще одну таблицу (сертификаты), что список сертификатов, Promos и CustomerNumbers, но CustomerNumber изначально NULL:
Certificate | Promo | CustomerNumber
1111111111 | ABCDEF | NULL
2222222222 | BCDEFG | NULL
3333333333 | BCDEFG | NULL
4444444444 | ABCDEF | NULL
Что мне нужно сделать, это однозначно присвоить каждому сертификат во второй таблице в у.е. stomer в первой таблице. Акции должны соответствовать. Обновите вторую таблицу с номером клиента от первой, только до одной записи, с соответствующим промо.
Я делал это в прошлом с помощью программы VB - перебираю записи в первой таблице, обновляю первую бесплатную запись для соответствующего промо во второй таблице. Но эта программа слишком долго работает (обычно около 600 000 записей).
Есть ли способ сделать это прямо в SQL? Выполнять задачу с помощью чрезвычайно сложного (или даже просто простого) SQL-запроса? (Или функциональность SQL Server?)
ОБНОВЛЕНИЕ В каждом промо есть много сертификатов. И много клиентов за промо.
Но каждому клиенту может быть присвоен только один сертификат.
UPDATE 2 Давайте назовем первую таблицу customerselection и вторую таблицу сертификатов.
customerselection - это выбор клиентов, которым мы хотим присвоить сертификаты.
сертификаты - это пул сертификатов, которые могут быть назначены.
Я получаю синтаксическую ошибку с этим. –
исправлено, забыл что-то запятые и имена таблиц не были согласованы, извините – bwt