TB1
id name
1 a
2 b
3 cTB2
id tb1_id name
1 1 aa
2 1 aaa
3 3 cc
要查询出结果TB1.id , TB1.name , TB2.count
1 a 2
2 b 0
3 c 1

解决方案 »

  1.   

    selet TB1.id , TB1.name , sum(isnull(TB2.count),0)
    from TB1 left join TB2 on TB1.id=TB2.id
      

  2.   

    提示:第 1 行: '.' 附近有语法错误。这个TB2.count,这个COUNT列并不在TB2中有,是计算出来的结果的
      

  3.   

    selet TB1.id , TB1.name , 
    isnull(count(TB2.*),0)
    from TB1 left join TB2 on TB1.id=TB2.id 
      

  4.   

    select TB1.id,TB1.name,count(*) from TB1,TB2 where TB1.id=TB2.tb1_id group by TB1.id,TB1.name
      

  5.   

    create table TB1
    (
    ID INT,
    name varchar(10)
    )
    create  table TB2
    (
    id int,
    tb1_id int,
    name varchar(10)
    )
    insert into  TB1 select 1,'a'
    union all select 2 ,'b'
    union all select 3,'c'insert into TB2 select 1,1,'aa'
    union all select 2,1,'aaa'
    union all select 3,3,'cc'select TB1.ID,TB1.name,count(TB2.tb1_id)as TB2_count FROM TB1 
    LEFT JOIN TB2 ON TB1.ID=TB2.tb1_id 
    group by tb1.ID,tb1.name
    /*
    ID name TB2_count
    1 a 2
    2 b 0
    3 c 1
    */