求SQL语句

hubinasm 2005-10-24 10:37:48
ID RESULT
4 AB
5 CD

怎样转换成这样的形式?
4 5
AB CD

4,5变成行标题,AB,CD做为行内容,SQL语句应该怎么写啊?
...全文
172 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlp321002 2005-10-24
  • 打赏
  • 举报
回复
--看不到你的表结构,不知道你的一些字段,从哪儿来的!!
--你最好print @sql 拼SQL,或者你参考我给你写的例子!!!
hubinasm 2005-10-24
  • 打赏
  • 举报
回复
这句话应该怎么加上?
+',max(case when MatchID = '''+ MatchID + ''' then ShowResult else '''' end) ['+ cast(HostTeam as varchar(50))+']'
hubinasm 2005-10-24
  • 打赏
  • 举报
回复
create table #tmp(ID int Identity(1,1),MatchID int,HostTeam varchar(50))
insert into #tmp(MatchID,HostTeam) select MatchID,HostTeam from MatchScene where WheelID = 1
declare @sql varchar(8000)
set @sql='select UserName'
select @sql=@sql
+',sum(case MatchID when '''+cast(MatchID as varchar(10))+''' then Result else 0 end) [Result'+ cast(ID as varchar(5))+']'
from (select ID,MatchID,HostTeam from #tmp) ab
select @sql=@sql+' from (select a.UserID as UserID,UserName,MatchID,Guess,Result,replace(Guess,Result,''<font color=red>''+Result+''</font>'') as showResult from UserMoneySevenDetail a
left outer join Users b on a.UserID = b.UserID
where WheelID = 1 ) as ttt group by UserName'
print(@sql)
exec(@sql)
drop table #tmp
zlp321002 2005-10-24
  • 打赏
  • 举报
回复
To:zlp321002(飘过)
4,5 是不固定的。能用交叉数据报表的形式写吗?我需要那样写的语句。谢谢
-----------------------------------------------------------------------
--我用的动态SQL,就是交叉表,4,5我没有固定,你测试下??
hubinasm 2005-10-24
  • 打赏
  • 举报
回复
如果RESULT为数字,我可以这样写:
select sum(case id when 4 then result else 0 end) as [4],
sum(case id when 5 then result else 0 end) as [5]
from table1
group by h

但是现在RESULT不是数字,所以不知道该怎么写了
To:zlp321002(飘过)
4,5 是不固定的。能用交叉数据报表的形式写吗?我需要那样写的语句。谢谢
zlp321002 2005-10-24
  • 打赏
  • 举报
回复
--测试环境
Create Table # (ID varchar(10),RESULT varchar(20))
insert into # select 4,'AB'
union all select 5,'CD'

--动态SQL
declare @s varchar(2000)
set @s=''
select @s=@s+',['+ID+']=max(case when ID='''+ID+''' then RESULT else '''' end) '
from #
GROUP BY ID
set @s='SELECT '+stuff(@s,1,1,'')+' From # '
print @s
exec(@s)
--结果
4 5
-------------------- --------------------
AB CD

--删除测试环境
DROP TABLE #

ljf_ljf 2005-10-24
  • 打赏
  • 举报
回复
select result as id form tablename.<<<<不知道對不對
zlp321002 2005-10-24
  • 打赏
  • 举报
回复
--
http://community.csdn.net/Expert/topic/4345/4345763.xml?temp=.9756586
UserID ID RESULT
1 4 AB
1 5 CD
2 4 EF
2 5 gh

结果:
UserID 4 5
1 AB CD
2 EF GH



----测试环境
Create Table # (UserID varchar(10),ID varchar(10),RESULT varchar(20))
insert into # select 1,4,'AB'
union all select 1,5,'CD'
union all select 2,4,'EF'
union all select 2,5,'gh'
--动态SQL
declare @s varchar(2000)
set @s='SELECT UserID'
select @s=@s+',['+ID+']=max(case when ID='''+ID+''' then RESULT else '''' end) '
from #
GROUP BY ID
set @s=@s+' From # GROUP BY UserID'
exec(@s)
--结果
UserID 4 5
---------- -------------------- --------------------
1 AB CD
2 EF gh

--删除测试环境
Drop Table #


hubinasm 2005-10-24
  • 打赏
  • 举报
回复
UserID ID RESULT
1 4 AB
1 5 CD
2 4 EF
2 5 gh

获得结果:
UserID 4 5
1 AB CD
2 EF GH

语句怎么实现?
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执行器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境中完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执行机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执行器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡行为,有效提升了系统在启停、反向运动等瞬态过程中的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬行、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进行对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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