insert into[Rnd].[dbo].[R_RndTitle](Id,Title) select (select MAX(Id)+1 From[Rnd].[dbo].[R_RndTitle]),Title from [1111].[dbo].[R_RndTitle] aa where not exists(select 0 from [Rnd].[dbo].[R_RndTitle] bb where bb.title=aa.title)2表结构一致,合并数据。ID int 不是自增列。
怎么改上面的语句
怎么改上面的语句
解决方案 »
- select identity(int,1,1) into语句中如何按orderby的顺序插入
- 请高手指点眼高手低的我想问个sql 的问题,或者大家给个答案 (续集)没有满意答案我这回就把分扔了
- 帮个忙吧!如何同事删除表A和表B的nID字段=1的记录,写条SQL
- 有什么方法把两个结构相同的表的不同的记录找出来?
- 请教在不同的服务器上如何建立视图
- SQL 语句的问题
- 关于记录某字段不能重复,而其他可以为空的查询问题,帮忙一下,谢谢,效率要高点的。
- 在SQL中操纵EXCEL
- 从SQL Server 2005迁移回SQL Server 2000时遇到错误602
- 挑战极限的SQL语句2--如何才能才自定义函数中执行SQL的存储过程
- 一个很纠结的sql问题求助
- 请问如何才能得到这样的数据结果?
--你的照着改下就好了,先把第一张表中最大的id取出来,然后数据库2中的按rownumber排下序+最大的id新增到你第一张表就好了
declare @R_RndTitle1 table(id int,title varchar(20))
declare @R_RndTitle2 table(id int,title varchar(20))
insert into @R_RndTitle1 values(3,'20');
insert into @R_RndTitle2 values(1,'20');
insert into @R_RndTitle2 values(2,'30');
--先取出最大的id
declare @id int
select @id=max(id) from @R_RndTitle1
--将不存在的新增进来
insert into @R_RndTitle1
select row_number() over(order by id)+@id rn,title from @R_RndTitle2 b
where not exists (select 1 from @R_RndTitle1 c where b.title=c.title)
select * from @R_RndTitle1
/*
id title
----------- --------------------
3 20
4 30
*/