Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何从带有内部联接的select更新字段值?_Mysql_Sql_Database_Sql Update - Fatal编程技术网

Mysql 如何从带有内部联接的select更新字段值?

Mysql 如何从带有内部联接的select更新字段值?,mysql,sql,database,sql-update,Mysql,Sql,Database,Sql Update,我正在尝试使用带有内部联接的select查询更新mysql数据库中的字段值 我现在得到 1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第5行的“AS cc WHERE cc.account_id=na.account_id”附近使用的正确语法 如何修复此查询以使其正常工作?我想更新名为pdm_id的字段,将其设置为cp.person_id 谢谢您以抄送的身份删除了,对吗?在你的代码中找不到它。你的作为ac在哪里?你能解释一下帐户在其他表上是如何关联的吗?对不起,我刚

我正在尝试使用带有内部联接的select查询更新mysql数据库中的字段值

我现在得到

1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第5行的“AS cc WHERE cc.account_id=na.account_id”附近使用的正确语法 如何修复此查询以使其正常工作?我想更新名为pdm_id的字段,将其设置为cp.person_id


谢谢

您以抄送的身份删除了
,对吗?在你的代码中找不到它。你的
作为ac
在哪里?你能解释一下
帐户
在其他表上是如何关联的吗?对不起,我刚刚更新了我的帖子,我删除了cc yes并用a替换了ac。因此在表temp\u accounts中有company\u code列,我可以喜欢accounts表。然后,我可以通过临时账户字段中的FSM字段链接到联系人。。我不确定我是否解释清楚了。谢谢你的帮助。您的查询得到了正确的答案,但是,我对其进行了更新,只做了一点小改动。我不认为我在我的帖子中说得很清楚,所以这会导致一些混乱,但多亏了你,我才能够完成更新:)
UPDATE accounts AS na
SET na.pdm_id = (
SELECT cp.person_id FROM `temp_accounts` AS ta INNER JOIN call_managment_system.accounts AS a ON ta.company_code = a.company_code
INNER JOIN contact_personal AS cp ON cp.name = ta.FSM AND contact_link = 'PDM' 
) 
WHERE a.account_id = na.account_id
UPDATE  accounts na
INNER JOIN call_managment_system.accounts a
ON      a.account_id = na.account_id
INNER JOIN temp_accounts ta 
ON     ta.company_code = a.company_code
INNER JOIN contact_personal cp 
ON cp.name = ta.FSM        
SET     na.pdm_id = cp.person_id
WHERE   contact_link = 'PDM'