【发布时间】:2013-12-24 08:19:36
【问题描述】:
我正在制作一个优化路线的应用程序(有点像 VRP)。用户必须能够复制所有输入数据,并对这些数据进行更改。通过这种方式,他们能够找出对优化的影响。
因此我选择让他们能够复制所有输入数据,并且有点像数据的版本管理。
我要复制以下表格:
一桌
ID UUID WEIGHT CODE
1 abc 15 AB
2 abd 5 AC
表二
ID UUID SIZE TABLE1_FK
1 abe 1 1
2 abf 3 2
结果表(复制后):
一桌
ID UUID WEIGHT CODE
1 abc 15 AB
2 abd 5 AC
3 abg 15 AB
4 abh 5 AC
表二
ID UUID SIZE TABLE1_FK
1 abe 1 1
2 abf 3 2
3 abi 1 1
4 abj 3 2
到目前为止,我可以做到。但是现在当我想更新 TableTwo 的外键以指向 TableOne 中复制的行时,我卡住了。
我想做这样的事情:
UPDATE TableOne
SET TABLE1_FK =
(SELECT t.ID
FROM TableOne t
WHERE t.WEIGHT = (SELECT t.WEIGHT
FROM TableOne t1
WHERE ...)
)
这就是我卡住的地方。 想要的结果是:
表二
ID UUID SIZE TABLE1_FK
1 abe 1 1
2 abf 3 2
3 abi 1 3
4 abj 3 4
有什么建议吗?
【问题讨论】:
标签: sql-server