select ID,
       Address,
      (select count(1) from b where a.id = b.id) as 计数 
from a

解决方案 »

  1.   

    insert into c 
    select  ID,
           Address,
          (select count(1) from b where a.id = b.id) as 计数 
    from a
      

  2.   

    insert into c 
    select  ID,
           Address,
          (select count(1) from b where b.Address= a.Address) as 计数 
    from a
      

  3.   

    好像不行,这样的话插入的就1个值,我需要字典表有几个值,就插入几个。如下:
    a表
    ID    Address
    1   
    2
    3
      

  4.   

    好像不行,这样的话插入的就1个值,我需要字典表有几个值,就插入几个。意思就是分类统计内容表b表的数据数。如下:
    a表
    ID    Address
    1     北京
    2     上海
    3     天津b表
    ID    Address  ....
    1     北京
    2     北京
    3     河北
    4     天津
    那么程序执行之后c表插入
    c表
    ID    AddressID   count
    1     1            2
    2     2            0
    3     3            1
      

  5.   

    declare @a table(ID int identity(1,1),Address varchar(10))
    insert @a
    select '北京' union all
    select '上海' union all
    select '天津'declare @b table(ID int identity(1,1),Address varchar(10))
    insert @b
    select '北京' union all
    select '北京' union all
    select '河北' union all
    select '天津'--insert into c 
    select  ID,
           Address,
          (select count(1) from @b b where b.Address= a.Address) as 计数 
    from @a a--select 结果为:
    /*
    ID          Address    计数          
    ----------- ---------- ----------- 
    1           北京         2
    2           上海         0
    3           天津         1
    */不知道楼主怎么样在测试呢??
      

  6.   

    a表  字典表
    ID   Address
    1     北京
    2     上海
    3     天津
    4     广州
    5     成都b表  内容表
    id    Address  user   regtime ...
    1     北京     aaa     2005-12-30
    2     上海     aa1     2005-10-8
    3     北京     bds     2006-1-12
    4     广州     saf     2006-1-2
    5     成都     aa      2006-1-10
    6     广州     bbb     2006-1-19
    7     北京     ccl     2005-9-25
    8     北京     kee     2005-10-13
    9     上海     oow     2005-11-11c表 
    ID   AddressID  AddressCount   time每次执行需要比对a表中所有值,插入c表。a表有几行,就插入c表几行。也就是统计出b表中每个城市的人数
      

  7.   

    表的数据数。如下:
    a表
    ID    Address
    1     北京
    2     上海
    3     天津b表
    ID    Address  ....
    1     北京
    2     北京
    3     河北
    4     天津
    那么程序执行之后c表插入
    c表
    ID    AddressID   count
    1     1            2
    2     2            0
    3     3            1---------------------------有什么问题吗????
      

  8.   

    总有错误,
    insert into c 
    select  ID,
           Address,
          (select count(1) from b where b.Address= a.Address) as 计数 
    from a显示 a表无效,而且c表ID字段是自动编号字段,后面还有个时间字段
    我把程序改成
    insert into c(AddressID,AddressCount) values( 
    select  ID,
           Address,
          (select count(1) from b where b.Address= a.Address) as 计数 
    from a
    )
    这样又提示 select附近有语法错误,)附近有语法错误
      

  9.   

    insert into c 
    select  ID,
           Address,
          (select count(1) from b where b.Address= a.Address) as 计数 
    from a-----------那个,是全角,修改一下