【发布时间】:2013-11-28 20:16:56
【问题描述】:
我有下表
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。
【问题讨论】:
-
当您输入标题时,您没有看到类似的帖子吗?我敢肯定有一百万个重复..
-
不使用pivot有什么可能
-
@Sree - 我认为它可以通过 Pivot 轻松完成,我不知道任何其他方式 - 你可以在这里查看一个示例 - stackoverflow.com/questions/17458894/…
-
所有帖子都使用静态列..:(,我需要两个动态列
标签: sql sql-server-2008 pivot-table