如何在sql server 2008r2中将行名称更改为列名
我很难在asp.net中使用存储过程作为绑定来制作XtraCharts线图(XY图) 我想通过如何在sql server 2008r2中将行名称更改为列名,sql,asp.net,sql-server,xtrareport,Sql,Asp.net,Sql Server,Xtrareport,我很难在asp.net中使用存储过程作为绑定来制作XtraCharts线图(XY图) 我想通过R250,R500,R1000,R2000行生成X值 和Yvalue是已经存储在上面每一行中的数据 我有这样一个原始表: ======================================================== No | Sequence No | ItemId | R250 | R500 | R1000 | R2000 =============================
R250
,R500
,R1000
,R2000
行生成X
值
和Y
value是已经存储在上面每一行中的数据
我有这样一个原始表:
========================================================
No | Sequence No | ItemId | R250 | R500 | R1000 | R2000
========================================================
1 001 118 23 13 14 24
我想把它显示在屏幕上
========================================================
No | Sequence No | ItemID | Value | NameX
========================================================
1 001 118 23 R250
1 001 118 13 R500
1 001 118 14 R1000
1 001 118 24 R2000
是否有任何可能的查询来实现这一点??非常感谢您。您可以使用
apply
i专门用于此:
select t.No, t.[Sequence No], t.ItemID, tt.*
from table t cross apply
( values ([R250], 'R250'),
([R500], 'R500'),
([R1000],'R1000'),
([R2000],'R2000')
) tt (Value, NameX);
您可以使用
apply
Is专门用于以下用途:
select t.No, t.[Sequence No], t.ItemID, tt.*
from table t cross apply
( values ([R250], 'R250'),
([R500], 'R500'),
([R1000],'R1000'),
([R2000],'R2000')
) tt (Value, NameX);
您只需简单地
UNPIVOT
()
请尝试以下代码:
declare @tbl table (No int, SequenceNo varchar(3), ItemId int, R250 int, R500 int, R1000 int, R2000 int);
insert into @tbl values (1,'001', 118, 23, 13, 14, 24);
select * from (
select * from @tbl
) p unpivot (
[Value] for NameX in (R250, R500, R1000, R2000)
) as up;
您只需简单地
UNPIVOT
()
请尝试以下代码:
declare @tbl table (No int, SequenceNo varchar(3), ItemId int, R250 int, R500 int, R1000 int, R2000 int);
insert into @tbl values (1,'001', 118, 23, 13, 14, 24);
select * from (
select * from @tbl
) p unpivot (
[Value] for NameX in (R250, R500, R1000, R2000)
) as up;
它对我非常有效。谢谢你的回答,兄弟:)这对我来说非常有效。Thx用于回答bro:)