liberty- 2015-07-20 01:45 采纳率: 50%
浏览 1388

SQL 表A根据表C的记录新增数据,表C有多少条数据,表A的每条记录就新增多少条不重复的记录

 declare @a table
(
id int,
[no] varchar(8),
name varchar(8)
)
declare @c table
(
[no] varchar(8)
)
insert into @a(id,[no],name)values(1,'A','张三')
insert into @a(id,[no],name)values(2,'A','李四')
insert into @a(id,[no],name)values(3,'B','王五')
select * from @a
insert into @c([no])values('A')
insert into @c([no])values('B')
insert into @c([no])values('C')
select * from @c

表A和表C,现在要根据表C给表A新增数据,
如果表C三条记录,那么表A的第一条记录就新增no为B、C的两条;
第二条记录新增no为B、C的两条;
第三条记录新增no为A、C的两条,后面的以此类推...

我想的大概的框架应该是这样的,然后里面的那个判断应该怎么写???因为一个id的会有多条,然后@a里面有变动的话@c里面的怎么去对应的变动 ???

declare @id bigint;
declare @no nvarchar(4);
declare @name nvarchar(40);

insert into @c_info
select id,no,name from @c (nolock)
declare @cursor cursor;
set @cursor = cursor for
select id,no,name from @c;
open @cursor
fetch next from @cursor into @id,@no,@name
while @@FETCH_STATUS=0
begin
    //判断之后修改

    fetch next from @cursor into @id,@no,@name
end
close @cursor
deallocate @cursor

  • 写回答

2条回答 默认 最新

  • yuke198907 2015-07-20 02:08
    关注

    不明白你说的意思,表A是怎么新增的

    评论

报告相同问题?

悬赏问题

  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题