我陷入困境。我有一张像下面#temp的桌子。 使用sql server 2008 r2
Select LoanNumber = 2000424385
,[AmntType1] = 120.32
,[AmntType2] = 131.52
,[AmntType3] = 142.36
into #temp
从#temp
中选择*上表只有一行,我想要三行,如下所示
LoanNumber Amount AmountType
2000424385 120.32 AmntType1
2000424385 131.52 AmntType2
2000424385 120.32 AmntType1
答案 0 :(得分:2)
您应该可以将以下功能与UNPIVOT功能一起使用:
select loanNumber,
amount,
amounttype
from #temp
unpivot
(
amount
for amounttype in (AmntType1, AmntType2, AmntType3)
) unp;
或者因为您使用的是SQL Server 2008 R2,所以也可以使用CROSS APPLY
:
select loannumber,
amount,
amounttype
from #temp
cross apply
(
values
('AmntType1', AmntType1),
('AmntType2', AmntType2),
('AmntType3', AmntType3)
) c (amounttype, amount);