mySQL cross-db / table更新让我大吃一惊

时间:2012-12-05 22:11:36

标签: mysql

数据库A包含表X

数据库B包含表Y and Z

A.X包含字段order_numberdude

B.Y包含字段orderdude_number B.Z包含字段other_dude_numberdude_type

我希望A.X.dude根据以下内容更新为B.Y.dude_number(B.Y.order = A.X.order_number) AND ((B.Z.other_dude_number = B.Y.dude_number) AND (B.Z.dude_type = 6))

我已经将mySQL查询抽出两个小时试图让它工作。我几乎可以肯定我需要一个 UNION ,但我对 UNION 的使用还不够熟悉。

1 个答案:

答案 0 :(得分:5)

UPDATE A.X
  JOIN B.Y ON Y.`order` = X.order_number
  JOIN B.Z ON Z.other_dude_number = Y.dude_number
SET      X.dude = Y.dude_number
WHERE    Z.dude_type = 6