如下两个表:
表1
provinceid   name
100  北京
200  上海
...  ....
表2
province_termipid  content
200  test
100  sdfsdf
100 3212
100  dsd
我想实现的是这样的效果:
id   icount
北京   该省记录数
上海   该省记录数

解决方案 »

  1.   

    SELECT ID,B.ICOUNT
    FROM province A
    LEFT JOIN (SELECT PID,COUNT(1) ICOUNT FROM province_termi GROUP BY PID) B
    ON A.ID = B.PID
      

  2.   

    DECLARE @A TABLE(ID INT,NAME VARCHAR(10))
    INSERT INTO @A SELECT 100,'北京'
    UNION ALL
    SELECT 200,'上海'DECLARE @B TABLE(PID INT, CONTENT VARCHAR(20))
    INSERT INTO @B SELECT 200,'test'
    UNION ALL
    SELECT 100,'sdfsdf'
    UNION ALL
    SELECT 100,'3212'
    UNION ALL
    SELECT 100,'dsd'SELECT NAME,B.ICOUNT
    FROM @A A
    LEFT JOIN (SELECT PID,COUNT(1) ICOUNT FROM @B GROUP BY PID) B
    ON A.ID = B.PID
    -------------------------
    北京 3
    上海 1
      

  3.   

    SELECT  name ,B.ICOUNT 
    FROM   province A 
    LEFT   JOIN   (SELECT   PID,COUNT(1)   ICOUNT   FROM   province_termi   GROUP   BY   PID)   B 
    ON   A.ID   =   B.PID
      

  4.   

    select a.name,b.icount
    from 表1 a left join (select pid,count(1) as icount from 表2 group by pid) b
    on a.id=b.pid
      

  5.   

    select id,icount  from 
    (
    select a.id as id1,a.name as id ,count(*) as icount  from province  a
    inner join  province_termi b 
    on a.id=b.pid
    group by a.id,a.name
    ) aa 
      

  6.   

    select a.[name],count(*) from aa a,bb b group by b.[id]
    你可以测试哈!我本地语法成功!~嘎嘎!
      

  7.   

    DECLARE   @A   TABLE(ID   INT,NAME   VARCHAR(10))
    INSERT   INTO   @A   SELECT   100,'北京'
    UNION   ALL
    SELECT   200,'上海'DECLARE   @B   TABLE(PID   INT,   CONTENT   VARCHAR(20))
    INSERT   INTO   @B   SELECT   200,'test'
    UNION   ALL
    SELECT   100,'sdfsdf'
    UNION   ALL
    SELECT   100,'3212'
    UNION   ALL
    SELECT   100,'dsd' select a.id,a.name,count(*) as 总数 from @a a ,@b b where a.id=b.pid group by a.id,a.name--100 北京 3
    --200 上海 1
      

  8.   

    select (select name from province where a.pid=id),count(a.content) from province_termi  as a  group by pid
      

  9.   

    xangle2222的一点都不对,他根本不懂SQL语句. 
    SELECT   A.ID,A.Name,B.ICOUNT 
    FROM   province A 
    LEFT   JOIN   (SELECT   PID,COUNT(PID)   ICOUNT   FROM   province_termi   GROUP   BY   PID)   B 
    ON   A.ID   =   B.PID你看一下.我这没有环境,只要SELECT   PID,COUNT(PID)   ICOUNT   FROM   province_termi   GROUP   BY   PID对,这条语句就对.我忘了GROUP BY这么写对不对了.
    不好意思.