---> 已知数据
if object_id('[tempdb]..#tb') is not null drop table #tb;
go
create table #tb (id int,w1 INT,w2 INT,w3 INT,w4 INT,w5 INT,w6 INT,w7 INT,w8 INT,w9 INT,w10 INT,w11 INT) ;
go
insert into #tb -- select * from #tb
select '101','91','2','84','35','78','10','17','40','36','27','59'
---> 查询条件
if object_id('[tempdb]..#tb02') is not null drop table #tb02;
go
create table #tb02 (id int,n1 INT,n2 INT,n3 INT,n4 INT,n5 INT,n6 INT,n7 INT,n8 INT,n9 INT,n10 INT,n11 INT) ;
go
insert into #tb02 -- select * from #tb02
select '301','w2','w5','w9','','','','','','','',''
union all select '302','w1','w5','w6','w7','w8','w9','w10','w11','','',''
union all select '303','w2','w4','w6','w8','w10','w11','','','','',''
union all select '304','w1','w2','w3','w4','w5','w6','w7','w8','w9','w10','w11'
---> 按照查询条件,分别把 表#tb02 的 w1 w2 w3 w4 w5 w6 w7 w8 w9 w10 w11 替换成对应的数字,并每一行从小到大排序, 得到以下结果
------------------------------------------------
ID n1 n2 n3 n4 n5 n6 n7 n8 n9 n10 n11
301 2 36 78
302 10 17 27 36 40 59 78 91
303 2 10 27 35 40 59
304 2 10 17 27 35 36 40 59 78 84 91
不是这样的结果(原因是每一行没有排序)
-------------------------------------------------
ID n1 n2 n3 n4 n5 n6 n7 n8 n9 n10 n11
301 2 78 36
302 91 78 10 17 40 36 27 59
303 2 35 10 40 27 59
304 91 2 84 35 78 10 17 40 36 27 59
按照查询条件,分别把 表#tb02 的 w1~11 替换成对应的数字,并每一行从小到大排序
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注 sql来了
select * from ( select a.id,c.val,'n'+cast(row_number()over(partition by a.id order by case when c.val is null then 1 else 0 end ,c.val) as nvarchar(10)) new_col from (select id,val,col from #tb02 unpivot (val for col in (n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11)) as t ) as a left join (select * from #tb unpivot (val for col in (w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11)) as t) as c on a.val=c.col ) as n pivot (min(val) for new_col in ( n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11)) as o
除了你曾经提出的这些问题以外,我是真没见过拿数据库做这种事的。
这些问题是你自己想出来的还是有什么实际应用场景?本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么