在SQL QUERY中建立行列

时间:2016-08-05 11:39:35

标签: sql pivot unpivot

我有查询......

SELECT      DATEPART(WEEK,idenddate) AS WeekNumber,
        COUNT (*) as Total
FROM        dbo.MyTable
Group by    DATEPART(WEEK,idenddate)
ORDER BY    WeekNumber

如何设置周数是列标题,总数为行。

2 个答案:

答案 0 :(得分:0)

         VALUES(..., 500, ...)
    No apostrophes: ^^^^^^

答案 1 :(得分:0)

你想要做的是一个Pivot。这是如何使用Microsoft SQL Server执行数据透视表的示例。但是,对于不同的服务器可能还有其他方法。

https://blogs.msdn.microsoft.com/spike/2009/03/03/pivot-tables-in-sql-server-a-simple-sample/

另一种方法是创建存储过程并使用第一个表中的行生成临时表,然后对第一个表的每一行(生成列的表)循环遍历第二个表值以创建插入临时数据透视表的语句。最后在临时数据透视表上选择您需要的任何过滤器以获取相关数据。