1

2 つのテーブルを含む 1 つのデータベースがあります。

-October2012_ID次の 2 つの列が含まれます。

a) OldId
b) NewId

-BNP次の 2 つの列も含まれます。

a)BankId
b)OrbId

これらの値がテーブルにBNPある列で使用可能な場合、2 つの列に含まれる値を置き換えてテーブルを更新する必要があります。この場合、 の列をの値で更新する必要があります。OldIdOctober2012_IDBNPNewId

そう:

Update BNP
SET BNP.**BankId**=October2012_Id.NewId
where BNP.**BankId**=October2012_Id.OldId and October2012_Id.**BankId** is not null

また:

Update BNP
SET BNP.**OrbId**=October2012_Id.NewId
where BNP.**OrbId**=October2012_Id.OldId and October2012_Id.**OrbId** is not null

私はSQLの初心者なので、助けてもらえますか?

4

2 に答える 2

1
UPDATE BNP
   SET BNP.OrbId=October2012_Id.NewId
  FROM October2012_Id
  JOIN BNP.OrbId=October2012_Id.OldId  --The default JOIN is INNER. Just shorthand for INNER JOIN
 WHERE October2012_Id.OrbId IS NOT NULL

FROM句を使用して値を取得するテーブルを指定し、JOIN更新するテーブルに指定するだけです。

于 2012-10-10T10:36:10.030 に答える
1

条件の間に追加を試みることができorます:

Update BNP
SET BNP.BankId=October2012_Id.NewId
from October2012_Id
where 
  (BNP.BankId=October2012_Id.OldId and October2012_Id.BankId is not null)
  or
  (BNP.OrbId=October2012_Id.OldId and October2012_Id.OrbId is not null)
于 2012-10-10T10:42:58.297 に答える