SQL 如何分列

SQL 如何分列,第1张

declare @表1 table (id int,数据 varchar(10))

insert into @表1

select 1,'a b c' union all

select 2,'c a n' union all

select 3,'s c v'

select id,数据1=parsename(replace(数据,' ','.'),3),

数据2=parsename(replace(数据,' ','.'),2),

数据3=parsename(replace(数据,' ','.'),1) from @表1

/*

id 数据1 数据2 数据3

------------------

1 a b c

2 c a n

3 s c v

*/

要达到你要的效果,先确定:1、你的每个年份是否不超过4条记录? 2、如何确定results中的数字对应于哪个季度?(如1990年的第一季度为 12,那1970年的呢?是18还是别的,是否数字最小的就排到第一季度?)

如果是:可以采用游标,先把年份取出来,再按年份从表中取对应的results(并把结果插入临时表,临时表可提前做好),最后从临时表中取数据即可。至于别名,在select 时,在相应字段后 跟 AS 别名 即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6701635.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存