那就分两步走啊:
先求出MAX(ID)
然后再插入记录
DECLARE @MaxID AS int
SELECT @MaxID = (SELECT MAX(ID1) FROM Table1)INSERT INTO Table1
    SELECT (ID2 + @MaxID),
           Name2
        FROM Table2

解决方案 »

  1.   

    你可以这样做,先把TABLE1的ID列去掉,然后插入数据,再增加为自动增长就可以了!
      

  2.   

    把table1的id1设置为自增型,增量为1
      

  3.   

    楼上的,那样做容易导致表中的ID失去唯一性或者牺牲TABLE1中的数据
      

  4.   

    select id=identity(int,1,1),name2 into #t from table2INSERT INTO Table1
    SELECT
    (SELECT isnull(MAX(ID1),0) FROM Table1)+id,
    Name2
    FROM #tdrop table #t
      

  5.   

    DECLARE @ID INT 
    SELECT @ID=MAX(ID1) FROM Table1
    IF @ID IS NULL SET @ID=0
    INSERT INTO Table1
    SELECT
    ID1=@ID+(SELECT COUNT(*) FROM TABLE2 WHERE ID2<=A.ID2),
    Name2
    FROM Table2 A
      

  6.   

    谢谢所有的朋友因为具体的问题中,SELECT语句还有约束条件
    所以采用zjcxc(邹建)的方案再次谢谢大家