再谈字符串合并问题(类似SUM(字符串字段))
飘香曾经对此问题给出一种解答方法:
http://expert.csdn.net/Expert/topic/632/632928.xml?temp=.8559076
后来,xuzhenhua21 (舍得) 又对该问题开了个讨论贴:
http://expert.csdn.net/Expert/topic/1309/1309227.xml?temp=.1356012
这个问题其实也曾让我苦思冥想过很长时间,最好的办法当然是希望mssql xp加入这种语法;但另一方面,本着没有路我们也要创造路的原则,所以这里提供另一种实现的思路:
--设表名为b,分组的字段名为gid(int),字符串字段为str(varchar(100)),同时b表的主关键字字段为id(int)
set nocount on
declare @imax int,@i int,@sql varchar(8000)
set @imax = 0
set @i = 0
select top 1 @imax = count(*) from b group by gid order by count(*) desc
select gid into #t from b group by gid order by gid
while @i < @imax
begin
set @sql = 'alter table #t add value' + convert(varchar,@i+1) + ' varchar(100) null'
exec(@sql)
set @sql = 'update m set m.value' + convert(varchar,@i+1) + '=n.value from #t as m,
(select b2.value,min(b2.gid) as gid from b as b1,b as b2
where b1.gid in (select gid from b group by gid having count(*) >' + convert(varchar,@i) + ')
and b1.gid = b2.gid and b1.id <= b2.id
group by b2.value
having count(*) = ' + convert(varchar,@i+1) +
') as n where m.gid = n.gid'
exec(@sql)
set @i = @i + 1
end
select * from #t
drop table #t
set nocount off
--表构造语句
create table b(id int,gid int,value varchar(100))
insert b values(1,3,'river')
insert b values(2,1,'mother')
insert b values(3,1,'C++')
insert b values(4,2,'love')
insert b values(5,1,'hate')
insert b values(6,3,'gaoding')
开这个帖子是为了抛砖引玉,希望还有其他更好的办法提供!谢谢!
http://expert.csdn.net/Expert/topic/632/632928.xml?temp=.8559076
后来,xuzhenhua21 (舍得) 又对该问题开了个讨论贴:
http://expert.csdn.net/Expert/topic/1309/1309227.xml?temp=.1356012
这个问题其实也曾让我苦思冥想过很长时间,最好的办法当然是希望mssql xp加入这种语法;但另一方面,本着没有路我们也要创造路的原则,所以这里提供另一种实现的思路:
--设表名为b,分组的字段名为gid(int),字符串字段为str(varchar(100)),同时b表的主关键字字段为id(int)
set nocount on
declare @imax int,@i int,@sql varchar(8000)
set @imax = 0
set @i = 0
select top 1 @imax = count(*) from b group by gid order by count(*) desc
select gid into #t from b group by gid order by gid
while @i < @imax
begin
set @sql = 'alter table #t add value' + convert(varchar,@i+1) + ' varchar(100) null'
exec(@sql)
set @sql = 'update m set m.value' + convert(varchar,@i+1) + '=n.value from #t as m,
(select b2.value,min(b2.gid) as gid from b as b1,b as b2
where b1.gid in (select gid from b group by gid having count(*) >' + convert(varchar,@i) + ')
and b1.gid = b2.gid and b1.id <= b2.id
group by b2.value
having count(*) = ' + convert(varchar,@i+1) +
') as n where m.gid = n.gid'
exec(@sql)
set @i = @i + 1
end
select * from #t
drop table #t
set nocount off
--表构造语句
create table b(id int,gid int,value varchar(100))
insert b values(1,3,'river')
insert b values(2,1,'mother')
insert b values(3,1,'C++')
insert b values(4,2,'love')
insert b values(5,1,'hate')
insert b values(6,3,'gaoding')
开这个帖子是为了抛砖引玉,希望还有其他更好的办法提供!谢谢!
...全文
相关推荐
0039-闭角U形弯曲件滚动轴弯曲模设计【全套9张CAD图】.zip
模具设计
产教融合实训基地与实践中心建设逻辑图-可编辑版
产教融合实训基地与实践中心建设逻辑图-可编辑版
idea2025-free.zip
idea2025-free.zip
sop基于灵敏度分析的有源配电网智能软开关优化配置升级1(Matlab代码实现)
内容概要:本文提出了一种基于灵敏度分析的有源配电网智能软开关(SOP)优化配置方法,旨在应对高比例分布式电源接入带来的电压波动与网络损耗加剧等问题。研究以IEEE33节点系统为算例,通过改进的灵敏度分析模型量化各节点对电压和功率流动的影响程度,进而构建SOP选址与定容的优化模型,实现降低网损、改善电压分布及提升系统运行灵活性的目标。全文详细阐述了灵敏度指标的数学推导、目标函数与约束条件的建模过程,并基于Matlab实现了完整的仿真求解流程,具备良好的工程实用性与学术参考价值。; 适合人群:电力系统及其自动化、电气工程等相关专业的硕士博士研究生、科研机构研究人员,以及从事智能配电网规划、运行与优化的工程技术人员。; 使用场景及目标:①研究分布式电源大规模接入背景下配电网的主动调控与优化策略;②指导智能软开关在实际配电网中的科学选址与容量配置;③为相关科研课题提供可复现的仿真案例,支撑学术论文撰写与算法验证。; 阅读建议:建议读者结合提供的Matlab代码与IEEE33节点标准模型进行动手实践,重点理解灵敏度指标的物理意义及其在优化模型中的应用逻辑,关注求解过程中的约束设置与算法收敛性,并可进一步拓展至SOP与储能联合配置、多时间尺度优化等复杂场景进行二次开发与研究。
Ubuntu安装Latex
关于Ubuntu安装Latex的详细记录和排错指南


