這麼寫
Insert 表 Select 1 As ID, SID, Name, Tel From 表 Where ID = 2

解决方案 »

  1.   

    insert table1 
      select 1,A.* from (select  B.SID,    B.Name,     B.Tel  from table1 B where Id = 2 and not exists (select 1 from table1 C where C.id = 1 and C.SID = B.SID and C.Nam e = B.Name AND C.Tel  = B.tel) )A
      

  2.   

    Create Table 表
    (ID Int,
     SID Int,
     Name Nvarchar(10),
     Tel Varchar(10))
    Insert 表 Select 1,     1,     N'haha',     90909
    Union All Select 1,     2,     N'名字2',    90909
    Union All Select 1,     33,   N'天使',     90909
    Union All Select 2,     1,     N'haha',     90909
    Union All Select 2,     2,     N'名字2',    90909
    Union All Select 2,     3,     N'名字3',    90909
    Union All Select 2,     4,     N'名字4',    90909
    Union All Select 2,     5,     N'名字5',    90909
    Union All Select 2,     6,     N'名字6',    90909
    GO
    Insert 表 Select 1 As ID, SID, Name, Tel From 表 Where ID = 2Select * From 表 Order By ID
    GO
    Drop Table 表
    --Result
    /*
    ID SID Name Tel
    1 1 haha 90909
    1 2 名字2 90909
    1 33 天使 90909
    1 1 haha 90909
    1 2 名字2 90909
    1 3 名字3 90909
    1 4 名字4 90909
    1 5 名字5 90909
    1 6 名字6 90909
    2 6 名字6 90909
    2 1 haha 90909
    2 2 名字2 90909
    2 3 名字3 90909
    2 4 名字4 90909
    2 5 名字5 90909
    */
      

  3.   

    結果時這個吧
    ID   SID    Name     Tel
    -----------------------
    1     1     haha     90909
    1     2     名字2    90909
    1     33    天使     90909
    1     3     名字3    90909
    1     4     名字4    90909
    1     5     名字5    90909
    1     6     名字6    90909
    2     1     haha     90909
    2     2     名字2    90909
    2     3     名字3    90909
    2     4     名字4    90909
    2     5     名字5    90909
    2     6     名字6    90909
      

  4.   

    yrwx001() 
    -----------
    你應該理解錯了“我想吧ID为1 的用户包含的信息更新一下,就是将id为2用户里所没有的信息添加到自己的信息里,自己的东西不动,”說了“自己的东西不动”,只是將2的數據COPY一份過來即可。
      

  5.   

    ID   SID    Name     Tel
    -----------------------
    1     1     haha     90909
    1     2     名字2    90909
    1     33    天使     90909
    1     3     名字3    90909
    1     4     名字4    90909
    1     5     名字5    90909
    1     6     名字6    90909
    2     1     haha     90909
    2     2     名字2    90909
    2     3     名字3    90909
    2     4     名字4    90909
    2     5     名字5    90909
    2     6     名字6    90909
    ----
     这个才是正确的
      

  6.   

    暈,現在變成我理解錯了。那就是yrwx001的了,他的是正確的。
      

  7.   

    也可以用關聯的方法Insert 表 Select 1 As ID, A.SID, A.Name, A.Tel From 表 A Left Join 表 B On A.SID = B.SID And B.ID = 1 Where A.ID = 2 And B.SID Is Null Select * From 表 Order By ID, SID
      

  8.   

    Create Table 表
    (ID Int,
     SID Int,
     Name Nvarchar(10),
     Tel Varchar(10))
    Insert 表 Select 1,     1,     N'haha',     90909
    Union All Select 1,     2,     N'名字2',    90909
    Union All Select 1,     33,   N'天使',     90909
    Union All Select 2,     1,     N'haha',     90909
    Union All Select 2,     2,     N'名字2',    90909
    Union All Select 2,     3,     N'名字3',    90909
    Union All Select 2,     4,     N'名字4',    90909
    Union All Select 2,     5,     N'名字5',    90909
    Union All Select 2,     6,     N'名字6',    90909
    GO
    Insert 表 Select 1 As ID, A.SID, A.Name, A.Tel From 表 A Left Join 表 B On A.SID = B.SID And B.ID = 1 Where A.ID = 2 And B.SID Is Null Select * From 表 Order By ID, SID
    GO
    Drop Table 表
    --Result
    /*
    ID SID Name Tel
    1 1 haha 90909
    1 2 名字2 90909
    1 3 名字3 90909
    1 4 名字4 90909
    1 5 名字5 90909
    1 6 名字6 90909
    1 33 天使 90909
    2 1 haha 90909
    2 2 名字2 90909
    2 3 名字3 90909
    2 4 名字4 90909
    2 5 名字5 90909
    2 6 名字6 90909
    */