表1:部门    人数
计划科   0
人事科   0表2:
部门   姓名
计划科 张三
人事科 李四
人事科 王五
计划科 赵六问题是:
如何用SQL语句将表2中的部门人数之和写入表1对应部门的人数之中。跪求了!!!!!

解决方案 »

  1.   


    --1、查询
    select a.部门,count(*) as [人数]
    from a left join b on a.部门 = b.部门--2、更新
    update a
    set a.人数 = isnull((select count(*) from b where 部门 = a.部门),0)
      

  2.   

    更新不行,报错:SELECT附近有语法错误,我用的是SQL2000
      

  3.   

    select
     a.部门,count(*) as [人数]
    from
     a left join b 
    on
     a.部门 = b.部门update
     a
    set
     a.人数 = isnull((select count(1) from b where 部门 = a.部门),0)
      

  4.   


    update a
    set a.人数 = count(*) 
    from a left join b on a.部门 = b.部门
    --应该可以的呀! 
      

  5.   

    再弱弱的问一下,这里ISNULL起到什么作用?