现在有表
Blog日志表
字段如下:
id,kindid,newuseridBlogKind个人日志分类表
字段如下
kindid,newuserid,blogNum
我要求出Blog表中的记录和,如用户newuserid=10000,kindid=10 的count(id)=10
更新到BlogKind表中,条件是Blog.kindid=BlogKind.kindid and Blog.newuserid = BlogKind.newuserid
如果条件不满足就不操作
我现在的SQL:
update blogkind set blognum = (select count (1) from blog where newuserid = blogkind.newuserid and kindid = blogkind.kindid)
全部更新掉了。数据不合理,在BlogKind中的有些记录BlogNum为0了

解决方案 »

  1. 自己顶一下。
    应该条件还差if exists(),我应该还差一步就可以了。望你能点一下!
      

  2. 楼主没加where条件
    update   blogkind   
    set   blognum   =   (select   count   (1)   from   blog   where   newuserid   =   blogkind.newuserid   and   kindid   =   blogkind.kindid)
    where ......
      

  3. update blogkind      
    set blognum = (select count(1) from blog where newuserid = blogkind.newuserid and kindid = blogkind.kindid)
    from blog
    where blog.newuserid = blogkind.newuserid and blog.kindid = blogkind.kindid
      

  4. 看盾还有没有别的方法!
    我最主要想了解那个if exists中是怎么写的
      

aliyun

类似问题 »