簡體   English   中英

如何在自聯接表中映射列!

[英]How to Mapping Columns in a Self-Join table!


我有一個父/子表,想將其 PK 和 FK 更新為新值。 問題是 oldParent Ids 應該與與舊 Ids 匹配的新 Ids 同步。 所以:

我將此數據作為臨時表:

OldID |  OldParentID |  NewID | NewParentID
  1         0            10         NULL
  2         0            11         NULL
  3         2            13         NULL
  4         3            14         NULL

我需要更新 NewParentID 如下:

OldID |  OldParentID |  NewID | NewParentID
  1         0            10         0
  2         0            11         0
  3         2            13         11
  4         3            14         13
declare @T table
(
  OldID int, 
  OldParentID int, 
  NewID int, 
  NewParentID int
)

insert into @T 
select 1, 0, 10, null union all
select 2, 0, 11, null union all
select 3, 2, 13, null union all
select 4, 3, 14, null

update T1
  set T1.NewParentID = coalesce(T2.NewID, 0)
from @T as T1
  left outer join @T as T2
    on T1.OldParentID = T2.OldID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM