アカウント番号」と「カード番号」を持つデータベースがあります。これらをファイルに照合して、カード番号をアカウント番号に「アップデイト」することで、アカウント番号のみを扱うようにしています。
テーブルをアカウント/カードデータベースにリンクするビューを作成して、「テーブルID」と関連するアカウント番号を返しています。そして、IDがアカウント番号と一致するレコードを更新する必要があります。
これは Sales_Import
テーブルで、account number
フィールドを更新する必要があります。
LeadID AccountNumber
147 5807811235
150 5807811326
185 7006100100007267039
そしてこれは RetrieveAccountNumber
テーブルで、ここから更新する必要があります。
LeadID AccountNumber
147 7006100100007266957
150 7006100100007267039
以下の方法を試してみましたが、今のところうまくいきません。
UPDATE [Sales_Lead].[dbo].[Sales_Import]
SET [AccountNumber] = (SELECT RetrieveAccountNumber.AccountNumber
FROM RetrieveAccountNumber
WHERE [Sales_Lead].[dbo].[Sales_Import]. LeadID =
RetrieveAccountNumber.LeadID)
カード番号が口座番号に更新されますが、口座番号が NULL
に置き換えられてしまいます。
UPDATE FROM "に "JOIN "を付ければいいと思います。
UPDATE
Sales_Import
SET
Sales_Import.AccountNumber = RAN.AccountNumber
FROM
Sales_Import SI
INNER JOIN
RetrieveAccountNumber RAN
ON
SI.LeadID = RAN.LeadID;
UPDATE
Sales_Import SI,
RetrieveAccountNumber RAN
SET
SI.AccountNumber = RAN.AccountNumber
WHERE
SI.LeadID = RAN.LeadID;
MSSQLをお使いのようですが、私の記憶が正しければ、次のように行います。
UPDATE [Sales_Lead].[dbo].[Sales_Import] SET [AccountNumber] =
RetrieveAccountNumber.AccountNumber
FROM RetrieveAccountNumber
WHERE [Sales_Lead].[dbo].[Sales_Import].LeadID = RetrieveAccountNumber.LeadID
ご回答ありがとうございました。私は解決策を見つけました。
UPDATE Sales_Import
SET AccountNumber = (SELECT RetrieveAccountNumber.AccountNumber
FROM RetrieveAccountNumber
WHERE Sales_Import.leadid =RetrieveAccountNumber.LeadID)
WHERE Sales_Import.leadid = (SELECT RetrieveAccountNumber.LeadID
FROM RetrieveAccountNumber
WHERE Sales_Import.leadid = RetrieveAccountNumber.LeadID)