【发布时间】:2011-05-15 08:17:47
【问题描述】:
我有以下结构:
Emp PayDate Amount
1 11/23/2010 500
1 11/25/2010 -900
1 11/28/2010 1000
1 11/29/2010 2000
2 11/25/2010 2000
3 11/28/2010 -3000
2 11/28/2010 4000
3 11/29/2010 -5000
如果选择了 emp 1,我需要得到以下结果(前 3 个日期及其对应的 val - 如果它们存在 - 第 4 行总是被忽略)
PayDate1 Amount1 Paydate2 Amount2 Paydate3 Amount3
11/23/2010 500 11/25/2010 -900 11/28/2010 1000
如果选择了emp 2,我需要得到以下结果
Paydate1 Amount1 Paydate2 Amount2 Paydate3 Amount3
11/25/2010 2000 11/28/2010 4000 NULL NULL
如果选择了emp 3,我需要得到以下结果
Paydate1 Amount1 Paydate2 Amount2 Paydate3 Amount3
11/28/2010 -3000 11/29/2010 -5000
要获取行中的相应数据,我可以运行以下查询:
select top 3 Paydate, Amount from Table where Emp = @Emp
但是如何以旋转方式获得结果?
【问题讨论】:
标签: sql-server sql-server-2005 pivot