タイトルが紛らわしいので説明させてください。作業する必要があると思われる 3 つのテーブルがあります。
- 最初のテーブルが呼び出され
VendorCertifications、CertID, Cert, VendorID列があります。 - 2 番目のテーブルは
VendorsでありVendorID、Vendor列があります - 3 番目のテーブルはおよび列
VendorCertを持っていますCertCompany
私が行ったのは挿入VendorCertでVendorCertificationあり、今では証明書のリストがあり、PKCertIDは ID 仕様を使用して入力されています。
私がやりたいことは、戻ってfromでVendorCertificationテーブルを更新することです。VendorIDVendors
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
これは機能しませんでした。「バインドできませんでした」というエラーが表示されます。なぜそうなるのかを理解しようとしましたが、うまくいきません。このようにする必要があるかどうかさえわかりません.3つのテーブルが含まれているため(少なくとも私はそれが含まれていると考えています)、通常の更新ステートメントを使用してそれを行う方法を考えることはできません。どんな助けでも大歓迎です。認定のリストは約 300 で、ベンダーのリストは約 40 です。