数据集的数据更新到临时表中的的问题

terry_yale 2004-08-11 05:13:47
数据集有两个字段a,z,临时表三个字段a,b,z .
将数据集第一条记录中字段a,z的的值赋给临时表table第一条记录的字段a,z,数据集第二条记录中字段a的值赋给临时表table第一条记录的字段b,
将数据集第二条记录中字段a,z的的值赋给临时表table第二条记录的字段a,z,数据集第三条记录中字段a的值赋给临时表table第一条记录的字段b,
...
如此循环,到数据集的最后一条记录时,临时表的字段b的值有其他值赋给它。

怎么写啊?谢谢
...全文
219 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sankis 2004-08-11
  • 打赏
  • 举报
回复
加一个就行了。
老宛 2004-08-11
  • 打赏
  • 举报
回复
楼主测试一下,应该能满足你的需求,我为两个表都加了序号
老宛 2004-08-11
  • 打赏
  • 举报
回复
测试:



select identity(int,1,1) as seq_no,[id] as a, 2 as z into #t from sysobjects

create table #table(
seq_no int identity(1,1),
a int,
b int,
z int
)
--select * from #t where seq_no % 2=1
insert into #table select a.a,b.a as b,a.z from (select * from #t where seq_no % 2=1) a,(select * from #t where seq_no % 2=0) b where a.seq_no+1=b.seq_no
select * from #t
select * from #table
drop table #t
drop table #table
sankis 2004-08-11
  • 打赏
  • 举报
回复
哈哈。楼主你这样改完以后我的代码不用改了是对的了。
sankis 2004-08-11
  • 打赏
  • 举报
回复
错了,不好意思,差了点, 等我再看看。
terry_yale 2004-08-11
  • 打赏
  • 举报
回复
上面有些错

数据集有两个字段a,z,临时表三个字段a,b,z .
将数据集第一条记录中字段a,z的的值赋给临时表table第一条记录的字段a,z,数据集第二条记录中字段a的值赋给临时表table第一条记录的字段b,
将数据集第二条记录中字段a,z的的值赋给临时表table第二条记录的字段a,z,数据集第三条记录中字段a的值赋给临时表table第二条记录的字段b,
...
如此循环,到数据集的最后一条记录时,临时表的字段b的值有其他值赋给它。
sankis 2004-08-11
  • 打赏
  • 举报
回复
你这个表应该有主键我先当它为ID,不知道你的a,b,z是什么型的,先设为INT的
create table t (a int, b int, z int, id int)
Declare @Min int, @Max int, @id int
Select @min = min(id), @max = Max(id) From 表
While @min <= @max
begin
if EXISTS (Select * From 表 where id = @min)
begin
Insert t (id, a, z) Select id, a, z From 表 where id = @min
Select @id = min(id) From 表 Where @id > id
updqte t set b = s.a From 表 s Where id = @min
end
Set @min = @min + 1
end

34,575

社区成员

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

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