代码之家  ›  专栏  ›  技术社区  ›  Anwar Chandra

MySql中的跨表更新查询

  •  0
  • Anwar Chandra  · 技术社区  · 15 年前

    我可以在SQL Server中执行这种查询:

    update tblmembers 
    set hits_archived = 
      (select count(*) 
       from tblhits 
       where tblhits.target_id=tblmembers.id 
       and tblhits.hitdate < '2009-11-01') 
    where tblmembers.regdate < '2007-09-28'
    

    在MySql 4.0.23中如何实现这一点? 我试图执行查询,但它返回以下错误消息:

    您的SQL语法有错误。查看与您的MySQL服务器版本对应的手册,以了解要在“select count(*)from tblhits where tblhits.target_id=tblmem”附近使用的正确语法
    1 回复  |  直到 13 年前
        1
  •  1
  •   Ben    15 年前

    这也可以通过使用MySQL的子查询来完成。

    Subquery Syntax