-1

我有一张表,上面有制造商和订单日期,我需要找到 2011 年和 2012 年每个制造商的订单量。我可以获得信息,但我需要三列,制造、2011 年的订单和 2012 年的订单。我被告知我可以使用联合加入来做到这一点,但我无法为我的生活弄清楚。有任何想法吗?谢谢。

4

1 回答 1

1

您没有提供很多详细信息,但听起来您想数据从行转换为列。如果是这样,那么您可以使用带有CASE表达式的聚合函数将数据放入列中:

select manufacturer,
  sum(case when datepart(year, orderdate) = 2011 then 1 else 0 end) Orders_2011,
  sum(case when datepart(year, orderdate) = 2012 then 1 else 0 end) Orders_2012
from yourtable
group by manufacturer

这将创建以下格式的数据:

Manufacturer | Orders_2011 | Orders_2012
Comp1        | 100         | 78
于 2013-03-19T10:28:23.250 回答