下面的查询非常有效,并向我展示了tbl_staff.staff_id和tbl_lead.rlog_create_user_id值不匹配的地方。
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不匹配。
1014 bubba bubba 1004我希望将tbl_lead.rlog_create_user_id中的值更新为与tbl_staff.staff_id中的值相同的值。
我试图插入一个SET命令,但是它给了我一个泛型语法错误:
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?
发布于 2018-08-07 15:51:58
尝尝这个
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;发布于 2018-08-07 15:47:10
你试过这样做吗?
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_namehttps://stackoverflow.com/questions/51730325
复制相似问题