我试图做到这一点query1
子查询:更新与同桌
UPDATE temp_svn1 t set closedate=(select max(date) from temp_svn1 p where p.id=t.id
显然MySQL不允许此类查询。所以我想出了使用内连接的这个查询,但是这太慢了。我怎样才能为此写一个更好的查询?或者我如何实现query 1
的逻辑?
UPDATE temp_svn1 AS out INNER JOIN (select id, close from temp_svn1 T inner join (select id as cat, max(date) as close from temp_svn1 group by cat) as in where T.id = in.cat group by id) as result ON out.id = result.id SET out.closedate = result.close
不,它没有。以下是错误: '您无法在FROM子句中指定目标表'temp_svn1'进行更新' – Gaurav 2010-11-18 19:17:49
对不起,我在ms sql中进行了测试。 – 2010-11-18 19:25:20