【发布时间】:2017-06-05 14:38:57
【问题描述】:
我的 MySql 服务器中有 2 个不同的数据库。
First table DB1.contacts:
id | name | code
1 | foo | 157
2 | foo | 95
3 | foo | 210
Second table DB2.paperworks:
id | name | contact_id
1 | foo | 0
我要更新 DB2.paperworks,设置 DB1.contacts.contacts 表的 DB2.paperworks.contact_id = max(DB1.contacts.code) 其中 DB2.paperworks.name = DB1.contacts.name
我想要的输出应该是:
查询 DB2.paperworks 后的第二张表:
id | name | contact_id
1 | foo | 210
这是我的查询:
UPDATE DB2.paperworks
JOIN DB1.contacts
ON DB2.paperworks.name = DB1.contacts.name
SET DB2.paperworks.contact_id = DB1.contacts.code
我不明白如何写 che "MAX(code)" 条件。你能帮帮我吗?
【问题讨论】:
-
不一定重复,因为这也可以通过使用相关子查询的简单更新来完成,如下面的答案所示。
-
@SlimsGhost,大多数问题都有多个可能的答案。这并不意味着他们不能有重复。我只是试图引导 OP 回答一个似乎与他自己相关的问题。
-
@Chris,很公平,只是不希望它只用一个指向可能不是理想答案的指针而关闭。
标签: mysql