declare @xm varchar(50)
select @xm='XM001'
求解,怎么给这个循环累加,例如XM002,XM003这样,在线急求
select @xm='XM001'
求解,怎么给这个循环累加,例如XM002,XM003这样,在线急求
解决方案 »
- 高分求一个 HQL 的多对多映射
- SQL语句替换,思路乱了,请帮忙替换
- 如何通过类似与索引号的东西SELECT列?
- 请问SQL SERVER2008 EXPRESS版 可以安装在XP?
- 一个sqlserver2005 链接问题,高手请进,有经验者请进!
- 服务器连接问题
- 一条集合查询的SQL,各位大侠帮我说明一下各子查询的逻辑关系(内详)
- access 中通过sql语句add column如何设置新增column的默认直
- 存储过程中动态调用存储过程
- 大家帮忙,这个sql语句怎么写?????
- 求推荐SQL SERVER的入门书
- sql2005数据库日志文件40多G,数据文件2G多,如何减少日志文件?
set @s = ''
declare @i as int
set @i = 1
while @i <= 10
begin
set @s = @s + 'XM' + right('00' + cast(@i as varchar),3) + ','
set @i = @i + 1
end
set @s = substring(@s , 1 , len(@s) - 1)print @s/*
XM001,XM002,XM003,XM004,XM005,XM006,XM007,XM008,XM009,XM010
*/
declare @xm varchar(50)
select @xm='XM'select top 1000 id=identity(int,1,1) into #temp
from sysobjects,syscolumnsselect @xm+right(1000+id,3) as id
from #tempdrop table #temp
declare @deptsid int
declare @deptcode varchar(50)select @deptsid = (select top 1 dept_sid from view_hum_dept order by dept_sid desc)+1select dept_code,title,dept_sid from view_hum_dept where full_name like '%sanan%'
union all
select @deptcode,drbm,drbm_sid=@deptsid from sa_ygddtzd恕小子愚钝。怎么套入这个sql语句当中?让@deptcode不断循环累加?
JLS 经理室 14
DQGZB 工会 18
ZJLBGS 总经理办公室 19
WJBGS 外经办公室 20
JCSJS 审计监察部 21
ZCCWB 资产财务部 22
RLZYB 人力资源部 23
JYGLB 经营管理部 24
GCB 工程部 25
SCB 土建公司 26
JSB 技术部 27
ZGBGS 总工办公室 28
AQZLB 安全质量部 29
ZHGLB 综合部 30
JJBGS 规划与资本运营部 31
NT 其他 33
BJB 北京办公室 34
TJFGS 天津分公司 35
ZJGFGS 张家港分公司 36
NJFGS 南京分公司 37
XMFGS 厦门分公司 38
SDFGS 山东分公司 39
MLXYFGS 马来西亚分公司 40
SYDQGS 三源电气有限公司 41
XAKM 西安凯明工程机械制造厂 42
WZB 工程部(物资) 72
GH 党委工作室 73
NULL 多特项目部 74
NULL 资产财务部 74
select *,rn='XM'+right(1000+row_number() over (order by getdate()),3)
from(
select dept_code,title,dept_sid from view_hum_dept where full_name like '%sanan%'
union all
select @deptcode,drbm,drbm_sid=@deptsid from sa_ygddtzd
)t
declare @iXM varchar(5);
declare @i int;set @XM='XM000';
set @i=0;while @i<1000
begin
set @iXM = '00'+convert(varchar,convert(int,right(@XM,3))+1);
set @XM=left(@XM,2)+right(@iXM,3);
set @i=@i+1;
print @XM;
end
declare @deptcode varchar(50)select @deptsid = (select top 1 dept_sid from view_hum_dept order by dept_sid desc)
select @deptcode='XM00'
select fc.dept_sid,fc.dept_code,fc.title
from
(select dept_code,title,dept_sid from view_hum_dept where full_name like '%sanan%'
union all
select @deptcode+convert(varchar,(row_number () over (order by getdate() desc)))
,drbm,@deptsid + (row_number () over (order by getdate() desc)) from sa_ygddtzd) fc
--group by fc.dept_sid,fc.dept_code,fc.title
where
(fc.dept_sid in
(select max(fc.dept_sid)
from
(select dept_code,title,dept_sid from view_hum_dept where full_name like '%sanan%'
union all
select @deptcode+convert(varchar,(row_number () over (order by getdate() desc)))
,drbm,@deptsid + (row_number () over (order by getdate() desc)) from sa_ygddtzd) fc
GROUP by fc.title ))
order by fc.dept_sid