select B.f1
       ,B.f2
       ,A.f1
       ,A.f2
       ,count(1)
from 表1 A
join 表2 B on A.f4=B.f3
group by A.f1
         ,A.f2
         ,B.f1
         ,B.f2

解决方案 »

  1.   

    declare @a table
    (
      f1 varchar(10),
      f2 varchar(10),
      f3 varchar(10),
      f4 varchar(10)
    )
    declare @b table
    (
      f1 varchar(10),
      f2 varchar(10),
      f3 varchar(10)
    )
    insert @a
    select '01','01','01','a' union
    select '01','01','02','b' union
    select '01','02','01','c' union
    select '02','01','01','d' union
    select '02','01','02','e' union
    select '02','02','01','f' 
    insert @b
    select 'AA','Al','a' union
    select 'AA','Al','b' union
    select 'AA','Al','c' union
    select 'AA','Al','d' union
    select 'AA','Al','e' union
    select 'AA','Al','f' --查询 
    select B.f1
           ,B.f2
           ,A.f1
           ,A.f2
           ,count(1) as 'counts'
    from @a A
    join @b B on A.f4=B.f3
    group by A.f1
             ,A.f2
             ,B.f1
             ,B.f2--结果
    /*
    f1         f2         f1         f2         counts      
    ---------- ---------- ---------- ---------- ----------- 
    AA         Al         01         01         2.00
    AA         Al         01         02         1.00
    AA         Al         02         01         2.00
    AA         Al         02         02         1.00(所影响的行数为 4 行)
    */