跨2个表的SQL Server 2008 R2 Express“分组”

时间:2012-09-11 15:52:29

标签: sql sql-server

我正在尝试合并两个表,以便对它们执行group by功能。我正在处理这个问题的原因是两个表的组合是>比10 GB中的SQL Server Express数据库限制(每个约为9 GB)。第二个表只是第一个表的延续。它看起来像这样:

  CustId        Sale
    001         4.25
    002        15.24
    003         8.78
    004       122.99
    005        44.80
    ...         ...

如果是一张桌子,我会用这样的东西:

select CustId, sum(Sale) sumSale
from table1
group by CustId

有没有办法纵向组合而不是宽度组合?

2 个答案:

答案 0 :(得分:1)

您可以使用union

select CustId, sum(Sale) sumSale
from (
    select CustId, Sale
    from table1
    union all
    select CustId, Sale
    from table2)
group by CustId

答案 1 :(得分:1)

在我看来,工会会有所帮助:

Select custId, sum(sale)
  from (select custid, sale
          from table1
         union 
        select custid, sale
          from table2)
 group by custId