如何将关系从一个表转移到另一个表中具有新ID的表

亚历山大大帝

我有桌子: T1 (ID BIGINT, NAME NVARCHAR(1000))

数据:

select * from T1
1, AAA
2, BBB
3, CCC
4, DDD

RELATIONS_TID, T1_ID1,T1_ ID2)表保存之间的关系ID从S”T1表。

SELECT * 
FROM RELATIONS_T

输出:

ID, T1_ID1,T1_ ID2
1,    1,   2 

在此表中1连接到2

RELATIONS_LOG_TABLEID, OLD_ID, NEW_ID, OLD_STUFF_ID, NEW_STUFF_ID)中的列OLD_STUFF_IDNEW_STUFF_ID是不是我的问题很重要。

Select ID, OLD_ID, NEW_ID 
from RELATIONS_LOG_TABLE

输出:

ID, OLD_ID, NEW_ID
1, 1, 3
2, 2, 4

这意味着1变成3,而2变成4

如何从表RELATIONS_LOG_TABLE和RELATIONS_T中检查1和2之间是否存在连接,并手动在表RELATIONS_T 3、4中输入。

托斯滕·凯特纳(Thorsten Kettner)

以下语句将插入元组

3,2(1替换为3)
1,4(2替换为4)
3,4(均替换)
insert into relations_t (id1, id2)
  select coalesce(rep1.new_id, id1), coalesce(rep2.new_id, id2)
  from relations_t r
  left join relations_log_table rep1 on rep1.old_id = r.id1
  left join relations_log_table rep2 on rep2.old_id = r.id2
  where rep1.id is not null or rep2.id is not null;

如果您只想要“最佳”记录(在这种情况下都被替换,否则被替换),则必须根据替换次数获得最高记录。

insert into relations_t (id1, id2)
  select top(1) coalesce(rep1.new_id, id1), coalesce(rep2.new_id, id2)
  from relations_t r
  left join relations_log_table rep1 on rep1.old_id = r.id1
  left join relations_log_table rep2 on rep2.old_id = r.id2
  where rep1.id is not null or rep2.id is not null
  order by case when rep1.id is not null and rep2.id is not null then 0 else 1 end;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将数据从一个表转移到具有更多列的另一个表?

如何将记录从一个表转移到另一个表?

将1个随机记录从一个表转移到另一个表

如何将多行从一个表转移到另一表(SQL)

如何限制从一个内部表转移到另一个内部表的条目数

需要帮助将范围从一个工作簿转移到另一个工作簿,每个范围都移到单独的工作表中

在不使用剪贴板的情况下将评论从一个工作表转移到另一个工作表

SwiftUI-将工作表转移到另一个视图

如何将结构从一个克隆转移到另一个

使用Bitbucket,如何将提交从一个分支转移到另一个分支?

如何将滚轮或滚动事件从一个元素转移到另一个元素?

如何将几何数据从一个表移到另一个表?

Oracle SQL:根据条件将某些记录从一个表转移到另一个过滤行

如何将 int 类型全局变量的值从一个活动转移到另一个活动并在 textview 中显示?

如何将所有奇数元素位置转移到 C 中的另一个数组?

在jquery数据表中将行数据从一个表转移到另一个表显示[object Object]

将溢出的内容从一个div转移到另一个

将帖子从一个博客转移到另一个博客?

将收集对象从一个jsp转移到另一个

将数据从一个$ state转移到另一个

将变量从一个功能转移到另一个功能

将值从一个表复制到另一个具有相同ID的表

从一个表中获得名称,在另一个表中具有匹配ID?

如何将ArrayList从另一个活动转移到另一个活动

将数据从一个表迁移到另一个表

如何将数据从数据库的一个表转移到另一数据库的表

如何通过python将皮肤权重从一个骨骼转移到另一个骨骼

将文本从一个活动转移到android studio中的另一个活动

在Windows应用程序中将数据表的值从一个地方转移到另一个地方