t1
---------------
Bid   name
1     A
2     Bt2
---------------
id    name  Bid
1     A1    1 
2     A2    1
3     B1    2
4     B2    2
5     B3    2根据以上两张表得到:t3
t3
------------------
Bid   name   count
1     A1     2
2     B1     3 表t1的Bid对应表t2的Bid。
从业务逻辑上来看:
A包含A1、A2
B包含B1、B2、B3
也就是说,A1包含2个数据,B1包含3个数据。
那么,我就得到这些数据的数量,显示在A、B的后面,得到A 2、B 3。

解决方案 »

  1.   

    if object_id('pubs..t1') is not null
       drop table t1
    gocreate table t1
    (
    bid  int,
    name varchar(10)
    )insert into t1(Bid,name) values(1,'A')
    insert into t1(Bid,name) values(2,'B')if object_id('pubs..t2') is not null
       drop table t2
    gocreate table t2
    (
    id   int,
    name varchar(10),
    bid  int
    )insert into t2(id,name,bid) values(1,'A1',1)
    insert into t2(id,name,bid) values(2,'A2',1)
    insert into t2(id,name,bid) values(3,'B1',2)
    insert into t2(id,name,bid) values(4,'B2',2)
    insert into t2(id,name,bid) values(5,'B3',2)
    select a.* ,b.count from t1 a , (select bid,count(*) as count from t2 group by bid) b
    where a.bid = b.biddrop table t1
    drop table t2bid         name       count       
    ----------- ---------- ----------- 
    1           A          2
    2           B          3(所影响的行数为 2 行)
      

  2.   

    select * into dst_tbl from src_tbl where ............