mysql复杂查询在运行中

时间:2014-10-27 08:27:06

标签: mysql

我的查询存在以下问题:

Update `visitors-processed` as t1 
  SET t1.`landedon`="land" 
where t1.`Attributes-ip-date-landedon` in  
  (SELECT distinct t2.`Attributes-ip-date-landedon` 
   from `visitors-processed` as t2 
   group by t2.`Attributes-ip-date-landedon`)

它正在给我

  

错误#1093 - 您无法指定目标表' t1'用于FROM子句中的更新

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

当你尝试在一个表上工作并在一个查询中从同一个表中选择时,MySQL会感到沮丧。见here。虽然有很多方法可以解决这个问题。

见 -

简短回答:这可能是重复的。

答案 1 :(得分:0)

目标表可以放在join子句而不是where子句中:

Update  
    `visitors-processed` t1
inner join
    (select `Attributes-ip-date-landedon`
     from `visitors-processed`
     group by `Attributes-ip-date-landedon` )t2
On t1.`Attributes-ip-date-landedon`=t2.`Attributes-ip-date-landedon`
SET t1.`landedon`='land'