就是一张表有多条记录的表 table1 
和一张里多条记录的表table2
两张表通去
select * from table1 a inner join table2 b on a.ID=b.AID
这样关接的我相在就相通去这样的关链去 把 table2 中相同的AID 相同给统计出来我是这么写的。。
select Num=(select Count(*) from table2 table2.AID=talbe1.ID group by AID ) from table1这样写还是不可以谁能帮我写一下

解决方案 »

  1.   

    SELECT COUNT(*) FROM TB T WHERE EXISTS(SELECT 1 FROM TB2 WHERE ID=T.AID)
      

  2.   

    select 
      count(1)
    from
      tb
    where
      aid in(select id from tb2)
      

  3.   

    没看明白! (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  4.   

    select id,num=(select count(*) from table2 where table2.Aid=table1.id)
    from table1
      

  5.   


    SELECT B.AID,COUNT(*) 
    FROM table1 A INNER JOIN table2 B ON A.ID=B.AID 
    GROUP BY B.AID这样应该是对的吧?
      

  6.   

    我的表达能力有这么差吗
    SELECT B.AID,COUNT(*) 
    FROM table1 A INNER JOIN table2 B ON A.ID=B.AID 
    GROUP BY B.AID
    这样不可以简单的说 就是 三张表 
    A 关联 B 
    B 关联 C 
    我想通过 表A 关联出  表C中与表B 关联字段相同的数据有几条给统计出来
    表A B C 都要查询多个字段
    比如两张表的统计是这么写的  
    select A.ID,A.Name,Num=(select Count(*) from TB where TB.PID=TA.ID group by PID) from TA 
    三张表的我写不来。
      

  7.   

    select distinct num=count(b.*) from table1 a inner join table2 b on a.id=b.aid where a.id is not null
    就可以了吧
    樓主無非就是想找table2中包含于table1中的記錄數
      

  8.   

    用这种方式快点,好像用inner join会慢些,要是要再关联多一个表,可以(select id from tb2)对tb2进行再一次查询select id from tb2 where id in (select id from tb3)
      

  9.   

    关键是我查的记录中表 A和表C没有直接的关联...是通过表 B 来关联表A 和表C的...
      

  10.   

    select col1,col2,...
    from 表A LEFT JOIN 表B
    ON 表A.id=表B.id LEFT JOIN 表C
    ON 表B.ID1=表C.ID1
      

  11.   

    哈哈...
    SELECT B.AID,COUNT(*) 
    FROM table1 A 
    INNER JOIN table2 B ON A.ID=B.AID 
    INNER JOIN table2 C ON C.ID=A.ID
    GROUP BY B.AID 
    就可以了
    谢谢大家