Название путается, поэтому позвольте мне объяснить, у меня есть три таблицы, которые, как мне кажется, мне нужно работать.Как обновить столбец на основе идентификатора другого столбца, используя соответствующие столбцы
- Первая таблица называется
VendorCertifications
и содержитCertID, Cert, VendorID
столбцов. - Вторая таблица
Vendors
и имеетVendorID
иVendor
колонны - Третья таблица
VendorCert
и имеетCert
иCompany
колонны
Что я сделал вставки VendorCert
в VendorCertification
и теперь у меня есть список из Сертификаты и ПК CertID
теперь заполняются с использованием спецификации идентификации.
Что я хочу сделать, это вернуться и обновить таблицу VendorCertification
с помощью VendorID
от Vendors
.
Я думал, что могу присоединиться к колонке Vendors
Vendor
с колонкой VendorCerts
Company
.
И затем используйте CTE для обновления столбца VendorCertification
VendorID
.
Это то, что я написал:
with temptable as (
select
vce.Company, v.Vendor, vce.Certification, V.VendorID
from
VendorCert as VCE
join
Vendors as V on V.Vendor = VCE.Company)
update VendorCertifications
set VendorID = temptable.VendorID
where temptable.Certification = Certification
Это не работает, я получаю «не может быть привязан» ошибка, я попытался выяснить, почему это дает мне, но я мне не повезло. Я даже не уверен, что я должен делать это таким образом, я не могу придумать способ сделать это, используя обычный оператор обновления, потому что он включает (по крайней мере, я думаю, что это связано) три таблицы. Любая помощь приветствуется. Перечень сертификатов составляет около 300 со списком продавцов около 40.