我有一个制造商和orderdate的表格,我需要找到2011年和2012年每个制造商的订单数量。我可以获得信息,但我需要三个栏目,制作,订单2011和订单2012年。我被告知我可以使用工会联盟做到这一点,但我无法理解我的生活。有任何想法吗?感谢。
答案 0 :(得分: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