我有下表
CREATE TABLE [dbo].[PC_Adjustments](
[Property_Adjustment_id] [int] IDENTITY(1,1) NOT NULL,
[property_id] [numeric](18, 0) NOT NULL,
[Adjustment_amount] [decimal](18, 2) NULL,
[Adjustment_Desc] [nvarchar](2000) NULL
) ON [PRIMARY]
insert into PC_Adjustments values(12,2.3,'test1')
insert into PC_Adjustments values(12,4.3,'test2')
insert into PC_Adjustments values(12,4.3,'test3')
insert into PC_Adjustments values(12,6.3,'test4')
insert into PC_Adjustments values(13,2.3,'test31')
insert into PC_Adjustments values(13,2.3,'testd1')
insert into PC_Adjustments values(13,2.3,'test41')
insert into PC_Adjustments values(14,2.3,'test561')
在上面的场景中,property_id 12有4行,13有3可能会增加或减少。我想说的是它的动态行。
我需要关注输出。
property_id Adjustment_1 Amount Adjustment_2 Amount Adjustment_3 Amount Adjustment_4 Amount
12 test1 2.3 test2 4.3 test3 4.3 test4 6.3
13 test31 2.3 testd1 2.3 test41 2.3 NULL NULL
14 test561 2.3 NULL NULL NULL NULL NULL NULL
我正在使用MSSQL 2008。
答案 0 :(得分:1)
进行动态透视的技巧是获取列名称。这可以使用“STUFF”功能完成。
我在一两个星期前遇到过这个问题。当我试图双重转动时,我的情况有点困难,但这个答案提供了一个很好的演练,一步一步地说明它是如何工作的。你应该能够得到你需要做的事情的要点,避免处理额外的支点。
这应该引导您完成您想要做的事情。