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是怎么新增的

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘