2012-01-17 77 views
0

我尝试它下面的代码notwork我客人也许where子句不orectMySQL的更新一个从另一个表的表

update member set member.`status` = 4 
    where member.idmember = select DISTINCT activitynote.idmemberref where activitynote.checkkey =4 

然后我尝试

update member, activitynote set member.`status` = 4 
where member.idmember = activitynote.idmemberref 
and activitynote.checkkey = 4 

该代码的工作,但没有的事我想请帮助

member.idmember是主键和activitynote.idmemberref可以是重复的

+0

为什么第二个查询不是你想要的? – 2012-01-17 05:08:17

+0

你想要什么? – Abhay 2012-01-17 07:22:12

回答

2

如果我理解正确,那么它应该解决问题。

update member set member.`status` = 4 
where member.idmember IN 
(select DISTINCT activitynote.idmemberref from activitynote where activitynote.checkkey =4) 
+0

1064 - 您的SQL语法错误;请检查第3行的'where activitynote.checkkey = 4'附近使用的正确语法对应的MySQL服务器版本的手册。 – user1040364 2012-01-17 05:40:49

+0

没有from子句,对不起我的错误。 – Zohaib 2012-01-17 06:25:39

+0

不需要'DISTINCT'。 – 2012-01-17 06:35:53