ID の一致に基づいて 1 つのテーブルから別のテーブルに SQL 更新する 質問する

ID の一致に基づいて 1 つのテーブルから別のテーブルに SQL 更新する 質問する

account numbersおよびのデータベースがありますcard numbers。これらをファイルとupdateカード番号および口座番号に一致させて、口座番号のみを扱うようにします。

テーブルをアカウント/カード データベースにリンクして、Table ID関連するアカウント番号を返すビューを作成しました。次に、ID がアカウント番号と一致するレコードを更新する必要があります。

Sales_Importこれは、account numberフィールドを更新する必要があるテーブルです。

リードID 口座番号
147 5807811235
150 5807811326
185 7006100100007267039

そして、これはRetrieveAccountNumber私が更新する必要があるテーブルです:

リードID 口座番号
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

ベストアンサー1

UPDATE FROMをと組み合わせるとJOIN役立つと思います:

MSSQL の

UPDATE
    Sales_Import
SET
    Sales_Import.AccountNumber = RAN.AccountNumber
FROM
    Sales_Import SI
INNER JOIN
    RetrieveAccountNumber RAN
ON 
    SI.LeadID = RAN.LeadID;

MySQL と MariaDB

UPDATE
    Sales_Import SI,
    RetrieveAccountNumber RAN
SET
    SI.AccountNumber = RAN.AccountNumber
WHERE
    SI.LeadID = RAN.LeadID;

おすすめ記事