表A (c1,c2,c3)
表B(c1,c2)
A表数据如下:
c1 c2 c3
1 2 3
1 3 4
1 6 4
2 2 1
2 3 8
B表数据如下
c1 c2
2 3我现在要算count(c1)条件
是c2 =表B中的C1和C2(2,3)中的数据,然后是group by c1
得到的结果为
b.c1 b.c2 count(c1)
2 3 2
很急

解决方案 »

  1.   

    算count(c1)条件
    1 A中c2 =表B中的C1
    2 C2(2,3)中的数据,然后是group by c1--这里不知道什么意思?
      

  2.   

    我现在要算count(c1)条件
    是c2 =表B中的C1和C2(2,3)中的数据
    就是SELECT COUNT(C1) FROM A WHERE EXISTS(SELECT 1 FROM B WHERE C2=B.C1)
    AND EXISTS(SELECT 1 FROM B WHERE C2=B.C2)
      

  3.   

    但是我不知道怎么把b.c1 b.c2这两个字段取出来
      

  4.   

    tryCreate table A
    (
    c1 int,
    c2 int,
    c3 int
    )
    insert into A
    select 1,2,3 union all
    select 1,3,4 union all
    select 1,6,4 union all
    select 2,2,1 union all
    select 2,3,8
    select * from A
    Create table B
    (
    c1 int,
    c2 int
    )
    insert into B
    select 2,3
    select B.*,[count(c1)] from B inner join (select c1,count(c1) as [count(c1)] from A  where c2 in((select c1 from B) union all (select c2 from B)) group by c1)t
    on B.c1=t.c1
      

  5.   

    "我现在要算count(c1)条件
    是c2 =表B中的C1和C2(2,3)中的数据
    就是SELECT COUNT(C1) FROM A WHERE EXISTS(SELECT 1 FROM B WHERE C2=B.C1)
    AND EXISTS(SELECT 1 FROM B WHERE C2=B.C2)"
    "但是我不知道怎么把b.c1 b.c2这两个字段取出来"
    把你取出的结果跟B表连接
      

  6.   

    select b.c1 as 'b.c1',b.c2 as 'b.c2', count(a.c1) as 'count(c1)' 
    from  b left join a  on a.c2=b.c2
    group by b.c1,b.c2