一共有A、B、C三张数据结构相同的表。
每个表存在字段:A1.希望统计这三张表中,A1字段中存在“A”这个数据的个数。也就是说。如果A、B表里的字段A1有"A"。那么返回是2. 如果只有A表的A1字段里存在“A”,那么返回1.能否一句SQL语句写出来呢?谢谢各位。

解决方案 »

  1.   

    SELECT A1,COUNT(1) FROM 
    (SELECT * FROM A UNION ALL SELECT * FROM B UNION ALL SELECT * FROM C)AS T 
    GROUP BY A1
      

  2.   

    select count(*)
    from 
    (select * from a
    union all
    select * from b)t
    where a1='A'
      

  3.   

    select sum(n) from 
    (
    select top 1 1 as n from a where A1='a'
    union all
    select top 1 1 as n from b where A1='a'
    union all
    select top 1 1 as n from c where A1='a'
    ) c
      

  4.   

    union all的意思是什么呀?
      

  5.   

    連接兩个結果集
    不去重複
    如果去掉ALL
    則去除重複
      

  6.   

    最好给出完整的表结构,测试数据,计算方法和正确结果.发帖注意事项
    http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281