SQL的问题,希望大家帮我解决 谢谢啦
比如现在有一张表:0001产品部张华0002销售部李蕾0003市场部桑兰0004人力资源赵燕0005品质管理王海0007培训部史军0008车辆管理张宾0009财务部赵汉0...
比如现在有一张表:
0001 产品部 张华
0002 销售部 李蕾
0003 市场部 桑兰
0004 人力资源 赵燕
0005 品质管理 王海
0007 培训部 史军
0008 车辆管理 张宾
0009 财务部 赵汉
0010 库管部 孙山
如果要生成一个交叉报表..例如像这样:
0001 产品部 库管部:张华
0002 销售部 产品部李蕾
....
就是说上一个部门名 显示在下个部门领导前面..
老师说要用游标做..申明6个变量什么的
我不是很清楚...请高手帮我下
这是老师写的一个游标:
declare cur_upd cursor SCROLL
for select 部门号,部门名,部门领导
from 部门
open cur_upd
declare @bmh varchar(4),@bmm varchar(25)
declare @bmld varchar(25)
declare @bmh2 varchar(4),@bmm2 varchar(25)
declare @bmld2 varchar(25)
fetch next from cur_upd into @bmh,@bmm,@bmld
while(@@fetch_status =0)
begin
update 部门 set 部门领导=@bmm2+':'+@bmld
where 部门号=@bmh
fetch next from cur_upd into @bmh,@bmm,@bmld
end
close cur_upd
DEALLOCATE cur_upd 展开
0001 产品部 张华
0002 销售部 李蕾
0003 市场部 桑兰
0004 人力资源 赵燕
0005 品质管理 王海
0007 培训部 史军
0008 车辆管理 张宾
0009 财务部 赵汉
0010 库管部 孙山
如果要生成一个交叉报表..例如像这样:
0001 产品部 库管部:张华
0002 销售部 产品部李蕾
....
就是说上一个部门名 显示在下个部门领导前面..
老师说要用游标做..申明6个变量什么的
我不是很清楚...请高手帮我下
这是老师写的一个游标:
declare cur_upd cursor SCROLL
for select 部门号,部门名,部门领导
from 部门
open cur_upd
declare @bmh varchar(4),@bmm varchar(25)
declare @bmld varchar(25)
declare @bmh2 varchar(4),@bmm2 varchar(25)
declare @bmld2 varchar(25)
fetch next from cur_upd into @bmh,@bmm,@bmld
while(@@fetch_status =0)
begin
update 部门 set 部门领导=@bmm2+':'+@bmld
where 部门号=@bmh
fetch next from cur_upd into @bmh,@bmm,@bmld
end
close cur_upd
DEALLOCATE cur_upd 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询