首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用联接命令更新记录

使用联接命令更新记录
EN

Stack Overflow用户
提问于 2018-08-07 15:22:55
回答 2查看 43关注 0票数 0

下面的查询非常有效,并向我展示了tbl_staff.staff_id和tbl_lead.rlog_create_user_id值不匹配的地方。

代码语言:javascript
复制
    SELECT
tbl_staff.staff_id,
tbl_staff.username,
tbl_lead.rlog_create_user_name,
tbl_lead.rlog_create_user_id
    FROM
    tbl_staff
    JOIN tbl_lead ON tbl_staff.username = tbl_lead.rlog_create_user_name
    AND tbl_staff.staff_id <> tbl_lead.rlog_create_user_id;

查询返回这样的值,在这里您可以看到1014与1004不匹配。

代码语言:javascript
复制
1014    bubba   bubba   1004

我希望将tbl_lead.rlog_create_user_id中的值更新为与tbl_staff.staff_id中的值相同的值。

我试图插入一个SET命令,但是它给了我一个泛型语法错误:

代码语言:javascript
复制
        SELECT
    tbl_staff.staff_id,
    tbl_staff.username,
    tbl_lead.rlog_create_user_name,
    tbl_lead.rlog_create_user_id
        FROM
        tbl_staff
        JOIN tbl_lead ON tbl_staff.username = tbl_lead.rlog_create_user_name
        AND tbl_staff.staff_id <> tbl_lead.rlog_create_user_id
SET tbl_lead.rlog_create_user_id=tbl_staff.staff_id ;

实际错误是:

Err 1064 -您的SQL语法有一个错误;请检查与您的MySQL服务器版本对应的手册,以获得正确的语法,以便在第10行使用SET tbl_lead.rlog_create_user_id=tbl_staff.staff_id‘。

我试图使用此问题更改SELECT和UPDATE命令,但仍然无法使其工作:How can I do an UPDATE statement with JOIN in SQL?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-07 15:51:58

尝尝这个

代码语言:javascript
复制
UPDATE tbl_lead
JOIN tbl_staff ON tbl_staff.username = tbl_lead.rlog_create_user_name
SET tbl_lead.rlog_create_user_id = tbl_staff.staff_id 
WHERE tbl_staff.staff_id <> tbl_lead.rlog_create_user_id;
票数 2
EN

Stack Overflow用户

发布于 2018-08-07 15:47:10

你试过这样做吗?

代码语言:javascript
复制
UPDATE tbl_staff, tbl_lead 
  SET tbl_lead.rlog_create_user_id = tbl_staff.staff_id
  WHERE tbl_staff.username = tbl_lead.rlog_create_user_name
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51730325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档