日期:2014-05-17  浏览次数:20817 次

新学SQLSERVER请教如何分列
本帖最后由 oXueYuZhiYing 于 2012-11-24 11:53:47 编辑 在表A中和“料号”列
SELECT 料号 FROM A
//----
料号
A001,102,499
A003,1023,39
A001-A,2.2,32
我想把料号这一列分成三列,中间用','做间隔 
用SELECT 查询时表变成
品名    长度  宽度  面积
A001   102  499  102*499
A003   1023  39  1023*39
A001-A  2.2  32  2.3* 32
-----
请教各位要如何操作才能达到这个效果?
网上的例子很多,但是太复杂,实在看不懂
------最佳解决方案--------------------


--创建数据开始
if(object_id('a') is not null) drop table a
go
create table a
(
material varchar(4),
length decimal(5,1),
width decimal(5,1)
)
go
insert into a
select 'A001',102,499 union all
select 'A003',1023,39 union all
select 'A001-A',2.2,32
go

--创建数据结束

--语句
select material as '品名',length as'长度',width as '宽度'
,cast(length as varchar)+'*'+cast(width as varchar) as '面积'
,width*length as '面积值'
from a


--结果展示
/*
品名   长度                                      宽度                                      面积                                                            面积值
---- --------------------------------------- --------------------------------------- ------------------------- ---------------------------------------
A001 102.0                                   499.0                                   102.0*499.0                                                   50898.00
A003 1023.0                                  39.0                                    1023.0*39.0                                                 &