mySQL跨数据库/表更新让我大吃一惊
数据库mySQL跨数据库/表更新让我大吃一惊,mysql,Mysql,数据库A包含表X 数据库B包含表Y和Z A.X包含字段order\u number和dude B.Y包含字段order,dude\u number B.Z包含字段其他dude\u编号和dude\u类型 我希望A.X.dude更新为B.Y.dude\u编号基于:(B.Y.order=A.X.order\u编号)和((B.Z.other\u dude\u编号=B.Y.dude\u编号)和(B.Z.dude\u类型=6)) 我花了两个小时的时间进行mySQL查询,试图让它正常工作。我几乎可以肯定我需要
A
包含表X
数据库B
包含表Y和Z
A.X
包含字段order\u number
和dude
B.Y
包含字段order
,dude\u number
B.Z
包含字段其他dude\u编号
和dude\u类型
我希望A.X.dude
更新为B.Y.dude\u编号
基于:(B.Y.order=A.X.order\u编号)和((B.Z.other\u dude\u编号=B.Y.dude\u编号)和(B.Z.dude\u类型=6))
我花了两个小时的时间进行mySQL查询,试图让它正常工作。我几乎可以肯定我需要一个联合体在那里的某个地方,但我对联合体不够熟悉,无法使用它。你也需要
加入B.Z
。@ypercube:Ooops。更正:)设置A.X.dude=B.Y.dude_number@Nathan:哎呀!我想,别急。谢谢你,精益求精!我喜欢这个网站!您还需要加入B.Z
。@ypercube:Ooops。更正:)设置A.X.dude=B.Y.dude_number@Nathan:哎呀!我想,别急。谢谢你,精益求精!我喜欢这个网站!
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