表A:
C1 C2 C3
1  BA BB
2  WB BC
3  AB DS
4  EE FF
5  SD BD
表B:
C1 C2 C3
1  1 f
2  1 s
3  1 b
----------------------
以上表结构:要统计表A的数量,及表A中的C1在表B中不存在的数量:要得到的结果.
5  2这个SQL语句怎么写

解决方案 »

  1.   

    SELECT (SELECT COUNT(*) FROM [表A]) '表A的数量', (SELECT COUNT(*) FROM [表B] WHERE NOT EXISTS (SELECT 1 FROM [表A] t WHERE t.[C1]=[C1])) '表A中C1不在表B的数量'
      

  2.   


    --联合查询方式
    select count(1) 数量1,
    count(1)-count(B.C1) 数量2
    from A
    left join B on A.C1=B.C1;
    --或对数量2用case when 也可以
      

  3.   

    谢谢楼上二位
    你的这个方式似乎是我想要的结果,麻烦再细说下CASE WHEN的方式?
      

  4.   

    1、
    select count(A.C1) 数量1,
        count(A.C1)-count(B.C1) 数量2
    from A
    left join B on A.C1=B.C12、--case when这个似乎用不着select cuont(A.c1),
           count(1),
           case when A.C1<>B.C1 then 1 else 0 end 
    from A,B
      

  5.   


    select count(1) 数量1,
        count(case when B.C1 is null then 1 else null end) 数量2
    from A
    left join B on A.C1=B.C1;