求横表与竖表的转换算法

epsonhan 2006-11-16 06:55:16
tabel :Product

姓名 牙膏 肥皂 电池
张三 100 102 220
李四 50 78 200

结果

姓名 产品 数量
张三 牙膏 100
张三 肥皂 102
张三 电池 220
李四 牙膏 50
李四 肥皂 78
李四 电池 200

如果再把竖表转换成横表呢?
...全文
274 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tigersong 2006-11-16
  • 打赏
  • 举报
回复
如果是2005的话很简单的说:

create table a(姓名 varchar(20),牙膏 int,肥皂 int,电池 int)

insert into a
select '张三',100,102,220
union all
select '李四',50,78,200

select 姓名,产品,数量
from (select 姓名,牙膏,肥皂,电池 from a ) as p
UNPIVOT
(数量 FOR 产品 IN
(牙膏,肥皂,电池)
)AS unpvt

dragonlhd 2006-11-16
  • 打赏
  • 举报
回复
case when 语句很好用啊

select a.姓名,
max(case a.产品 when '牙膏' then a.数量 end) as '牙膏',
max(case a.产品 when '肥皂' then a.数量 end) as '肥皂',
...
from products a
group by a.姓名
DDDDDDDDDDDDDDDDDD 2006-11-16
  • 打赏
  • 举报
回复
select *from table4 --原表

create table t(姓名 varchar(8), 产品 varchar(8), 数量 int)

declare @a1 varchar(20),@a2 int,@a3 int,@a4 int
declare LS cursor for select 姓名 , 牙膏 , 肥皂 , 电池 from table4
open LS
fetch LS into @a1,@a2,@a3,@a4
while @@fetch_status=0
begin
insert into t select @a1,'牙膏',@a2
insert into t select @a1,'肥皂',@a3
insert into t select @a1,'电池',@a4
fetch LS into @a1,@a2,@a3,@a4
end

close LS
deallocate LS
select *from t --结果
hhhdyj 2006-11-16
  • 打赏
  • 举报
回复
列固定时用
SELECT 姓名, '牙膏' AS 产品, 牙膏 AS 数量 UNION ALL
SELECT 姓名, '肥皂' AS 产品, 肥皂 AS 数量 UNION ALL
SELECT 姓名, '电池' AS 产品, 电池 AS 数量
kunaola 2006-11-16
  • 打赏
  • 举报
回复
用union all
内容概要:本文围绕基于Basisformer模型的时间序列锂离子电池SOC(State of Charge,荷电状态)预测展开研究,利用PyTorch框架实现深度学习模型的构建与训练。通过将历史充放电数据作为输入,Basisformer能够有效捕捉电池状态的动态变化特征,提升SOC预测精度。文中详细介绍了模型结构设计、数据预处理流程、训练策略及实验结果分析,并与传统方法进行对比,验证了该方法在复杂工况下的优越性与鲁棒性。该研究不仅展示了Basisformer在时序建模中的潜力,也为电池管理系统提供了高精度的状态估计解决方案。; 适合人群:具备一定Python编程基础和深度学习理论知识,熟悉PyTorch框架,从事电池管理系统、新能源汽车或智能预测方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于电动汽车、储能系统等领域的电池SOC高精度实时估算;②为电池健康管理(BMS)提供可靠的状态输入;③推动深度学习在时间序列预测中的实际落地,提升现有预测模型的泛化能力与稳定性; 阅读建议:建议读者结合标题为【锂电池SOC估计】【PyTorch】基于Basisformer时间序列锂离子电池SOC预测研究(python代码实现)的资源,重点研读所提供的Python代码,深入理解数据处理方式与模型网络结构的设计思路,尝试调整超参数以观察对预测性能的影响,从而全面掌握Basisformer在时序建模中的优势、适用边界及工程化实现路径。

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧