【发布时间】:2014-01-15 01:03:22
【问题描述】:
我有一个脚本,其结果集如下所示:
-- #Test (temptable)
Branch_Name C_Date Percentage
Branch 1 20140107 90
Branch 1 20140108 82
Branch 2 20140107 85
Branch 2 20140108 86
我想转置这些数据,但是 C_Date 被填充以返回 7 天:
WHERE (1 = 1) AND
(tTable.C_Date > CONVERT(VARCHAR(10),GETDATE() -7, 112)) AND
(tEnter.C_Date < CONVERT(VARCHAR(10),GETDATE() -1, 112)).
我试过了
Select * from #Test
pivot (avg (Percentage) for C_date in ([20140107],[20140108])) as PivotTable
它给了我我想要的数据(见下文),
Branch_Name 20140107 20140108
Branch 1 90 82
Branch 2 85 86
但是如何让枢轴查看由GETDATE 填充的日期?我尝试将GETDATE 命令放在每个 [] 中,但这显然不起作用。
** 注意,我的示例显示 2 天,但我的查询是 7 天前的,不包括它运行的那一天。
任何帮助表示感谢 - 谢谢!
【问题讨论】:
-
尝试在你的
IN上放置一个子查询 -
@JorgeCampos 那行不通。 SQL Server 要求 PIVOT 内的值是固定的
-
感谢@bluefeet 的信息!真是一团糟(只是我对此的看法):)
标签: sql-server-2008 date pivot