请教关于表的操作

flysocket 2008-02-29 09:38:11
有三个表
A表: id1,num1
B表: id2,num2
c表:id3,id1,di2

现在需要将表A和表B中的列值插入到C表中,即随机抽取A中的id1(条件num1>某个值),随机抽取B中的id2(条件num2>某个值)放入到c表的id1和id2中。
...全文
65 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
flysocket 2008-02-29
谢谢
回复
dawugui 2008-02-29
create procedure my_proc
as
begin
declare @id1 as int
declare @id2 as int
declare @id3 as int

select @id1 = top 1 id1 from A where num1 > 某个值 order by newid()
select @id2 = top 1 id2 from B where num2 > 某个值 order by newid()

select @id3 = isnull(max(id3),0) + 1 from C

insert into C select @id3,@id1,@id2
end
go

exec my_proc

使用存储过程,每执行一次插入一条记录.
回复
dawugui 2008-02-29
有三个表
A表:id1,num1
B表:id2,num2
c表:id3,id1,di2

现在需要将表A和表B中的列值插入到C表中,即随机抽取A中的id1(条件num1> 某个值),随机抽取B中的id2(条件num2> 某个值)放入到c表的id1和id2中。

随机:

select top 1 id1 from A where num1 > 某个值 order by newid()
select top 1 id2 from A where num1 > 某个值 order by newid()

至于你的插入如何搞就不知道了,如ID3怎么赋值?
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-02-29 09:38
社区公告
暂无公告