问题如下:
有两个表,表结构都一样,分别存的是2009年和2010年数据,表名sales_old、sales
我想联合查询这两个表进行统计,按照客户名统计销售额如查一个表我是这样写的,两个表怎么查?谢谢各位大侠!select t.name,sum(t.sales_amount) from sales t
where t.type='NORMAL'
group by t.name
order by t.name,sum(t.sales_amount)desc

解决方案 »

  1.   

    SELECT t.NAME, SUM(t.sales_amount)
      FROM (SELECT *
              FROM sales
            UNION ALL
            SELECT * FROM sales_old) t
     WHERE t.TYPE = 'NORMAL'
     GROUP BY t.NAME
     ORDER BY t.NAME, SUM(t.sales_amount) DESC
      

  2.   

    谢谢1L大侠,不过查起来有些慢,有其他方式吗,比如把WHERE条件放在里面呢?是不是会快点?SELECT t.NAME, SUM(t.sales_amount)
      FROM (SELECT *
              FROM sales s1 
            WHERE s1.TYPE = 'NORMAL'
            UNION ALL
            SELECT * FROM sales_old s2 
            s2.TYPE = 'NORMAL') t
     GROUP BY t.NAME
     ORDER BY t.NAME, SUM(t.sales_amount) DESC