【发布时间】:2015-12-02 20:08:43
【问题描述】:
关于这个问题有很多不同的帖子,但我找不到我需要的答案。我希望这个问题是独一无二的。
我正在尝试将所有数据从一个表附加到另一个表,而不创建新记录。第二个表中的数据实际上是第一个表中部分现有记录的数据子集。
例如: 我有桌子“SPK”。我想将 SPK 中的所有数据写入“RCT”表中。我要匹配的每条记录之间的公共字段是 RegID,它在两个表中都是唯一的(即每个 RCT 记录只有一个 SPK 记录)。
【问题讨论】:
关于这个问题有很多不同的帖子,但我找不到我需要的答案。我希望这个问题是独一无二的。
我正在尝试将所有数据从一个表附加到另一个表,而不创建新记录。第二个表中的数据实际上是第一个表中部分现有记录的数据子集。
例如: 我有桌子“SPK”。我想将 SPK 中的所有数据写入“RCT”表中。我要匹配的每条记录之间的公共字段是 RegID,它在两个表中都是唯一的(即每个 RCT 记录只有一个 SPK 记录)。
【问题讨论】:
如果我理解正确,您的意思是将一个表中的列(称为 SECOND)附加到另一个(称为 FIRST)。
在那种情况下,这行得通吗?
UPDATE
regcontactsTest
JOIN
speakersTest
ON speakersTest.RegistrationID = regcontactsTest.RegistrationID
SET regcontactsTest.presentationtitle = speakersTest.presentationtitle
编辑:根据 Mariadb 语法更新查询
【讨论】:
UPDATE regcontactsTest SET regcontactsTest.presentationtitle = speakersTest.presentationtitle FROM speakersTest JOIN regcontactsTest ON speakersTest.RegistrationID = regcontactsTest.RegistrationID
您需要使用 JOIN。对于一般更新加入:
update tab1 a
join tab2 b ON a.join_colA = b.join_colB
SET a.columnToUpdate = [something]
或者换句话说:
update
tab1 a
join tab2 b on ..
set a.field=...;
【讨论】: