22,207
社区成员
发帖
与我相关
我的任务
分享
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([必发价位-胜] decimal(18,8),[必发价位-平] decimal(18,8),[必发价位-负] decimal(18,8),[必发指数-胜] decimal(18,8),[必发指数-平] decimal(18,8),[必发指数-负] decimal(18,8),[百家欧赔-胜] decimal(18,8),[百家欧赔-平] decimal(18,8),[百家欧赔-负] decimal(18,8))
Insert #T
select 1.46,5.10,8.80,47.60,21.87,30.52,1.40,4.52,6.95
Go
select c.* from #t as t
cross apply(values(N'胜',[必发价位-胜],[必发指数-胜],[百家欧赔-胜]),(N'平',[必发价位-平],[必发指数-平],[百家欧赔-平]),(N'负',[必发价位-负],[必发指数-负],[百家欧赔-负])) as c([ ],必发价位,必发指数,百家欧赔)
必发价位 必发指数 百家欧赔
1 胜 1,46000000 47,60000000 1,40000000
2 平 5,10000000 21,87000000 4,52000000
3 负 8,80000000 30,52000000 6,95000000
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([必发价位-胜] decimal(18,8),[必发价位-平] decimal(18,8),[必发价位-负] decimal(18,8),[必发指数-胜] decimal(18,8),[必发指数-平] decimal(18,8),[必发指数-负] decimal(18,8),[百家欧赔-胜] decimal(18,8),[百家欧赔-平] decimal(18,8),[百家欧赔-负] decimal(18,8))
Insert #T
select 1.46,5.10,8.80,47.60,21.87,30.52,1.40,4.52,6.95
Go
--测试数据结束
SELECT [必发价位-胜] AS 必发价位,[必发指数-胜] AS 必发指数,[百家欧赔-胜] AS 百家欧赔 FROM
(
select [必发价位-胜],[必发指数-胜],[百家欧赔-胜] from #T
UNION ALL
select [必发价位-平],[必发指数-平],[百家欧赔-平] from #T
UNION ALL
select [必发价位-负],[必发指数-负],[百家欧赔-负] from #T
) t