【发布时间】:2015-02-25 23:41:49
【问题描述】:
我有一个测试 SQL 数据库,查询如下:
USE DataBase1
Select Data.MonthDate,
Data.AccountID,
Data.MonthID,
Data.Sales,
Data.AccountName
From Test1 as Data with(nolock)
我需要根据销售列进行调整。问题是我运行此查询的月份总是会发生变化(尽管它们总是有 4 个),并且它们需要在基于 MonthDate 列的旋转结果中从左到右/最旧-最新排序。运行查询时的初始返回如下所示:
而最终的结果需要是这样的:
我在这里使用 Excel 进行演示,并突出显示了 0,因为这些在技术上是 NULL 值,但我需要它们返回为 0。
我正在使用 SQL Server Management Studio,而我将针对它运行的实际数据库超过 200,000 行。
有什么想法吗?
谢谢,
约书亚
【问题讨论】:
-
你能用所有这些测试数据创建一个 sql fiddle 吗?
-
写sql有没有试过?
标签: sql sql-server dynamic pivot