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