开发中遇到的一个很棘手的问题,向各位高手请教A表:
A   B   C1   a   dm
2   b   dm
3   c   ods
4   d   ods
B表:
A   B   C11  aa  dm
12  bb  edw
13  cc  dmresult1:x   count(A)   count(B)dm      4           4
ods     2           2
edw      1          1result2:A      B      C1      a      dm
2      b      dm
11     aa     dm
13     cc      dm

解决方案 »

  1.   

    SELECT c, COUNT(A), COUNT(B)
      FROM (SELECT *
              FROM a
            UNION ALL
            SELECT * FROM b)
     GROUP BY c;SELECT *
      FROM (SELECT *
              FROM a
            UNION ALL
            SELECT * FROM b)
     WHERE c = 'dm';
      

  2.   

    select C , count(A) , count(B)
    from (select A,B,C from A 
          union all
            select A,B,C from B)
    group by C;SELECT A,B,C
      FROM (SELECT A,B,C
              FROM A
            UNION ALL
              SELECT A,B,C FROM B)
     WHERE C = 'dm';