如我有一个表nnncreate table nnn
(
ID int primary key identity,
Name nvarchar(20),
Value nvarchar(20)
)ID     Name    Value
1      小明    苹果
2      小明    橘子
3      小王    苹果
4      小明    香蕉
5      小明    花生
6      小王    梨我现在要给表里面的所有用户(不重复)即Name为标识,再添加1个Value值。
比如表里只有小明和小王,那我给他们再加个属性如下
7      小明    西瓜
8      小王    西瓜求一句SQL,要比较实用,简单的实现方法,谢谢

解决方案 »

  1.   

    INSERT NNN(NAME,[VALUE]) SELECT DISTINCE NAME,'西瓜' FROM NNN
      

  2.   

    INSERT NNN(NAME,[VALUE]) SELECT DISTINCT NAME,'西瓜' FROM NNN
      

  3.   

    如果ID为自增列的话,就
    insert nnn(name,[value]) select distinct name,'西瓜' from nnn
      

  4.   

    insert Name,value SELECT distinct NAME,'西瓜' FROM tab 
      

  5.   


    insert Name,value SELECT distinct NAME,'西瓜' FROM tab 
      

  6.   

    因为ID为自增,最简单的方法就是:
    INSERT NNN SELECT DISTINCE NAME,'西瓜' FROM NNN
      

  7.   

    declare @nnn table 

    ID int primary key identity, 
    Name nvarchar(20), 
    Value nvarchar(20) 

    insert into @nnn select '小明','苹果'
    union all select '小明','橘子'
    union all select '小王','苹果'
    union all select '小明','香蕉'
    union all select '小明','花生'
    union all select '小王','梨'insert into @nnn(name,value) select distinct Name,'西瓜' from @nnn
    select * from @nnnID          Name                 Value
    ----------- -------------------- --------------------
    1           小明                   苹果
    2           小明                   橘子
    3           小王                   苹果
    4           小明                   香蕉
    5           小明                   花生
    6           小王                   梨
    7           小明                   西瓜
    8           小王                   西瓜
      

  8.   

    如果,给所有的用户(不重复)添加1个Value值。但是Value值不一样呢 
    比如表里只有小明和小王,那我给他们再加个属性如下 
    7      小明    葡萄 
    8      小王    西瓜 
    ???
      

  9.   

    那你可以用CASE WHENINSERT NNN 
    SELECT DISTINCT NAME,
    CASE WHEN NAME='小明' THEN '葡萄' WHEN NAME='小王' THEN '西瓜' END  FROM NNN
      

  10.   

    create table #nnn 

    ID int primary key identity, 
    Name nvarchar(20), 
    Value nvarchar(20) 

    insert into #nnn select '小明','苹果'
    union all select '小明','橘子'
    union all select '小王','苹果'
    union all select '小明','香蕉'
    union all select '小明','花生'
    union all select '小王','梨'create table #Fruit
    (
      id int primary key identity,
      Fruit varchar(20)
    )
    insert into #Fruit select '葡萄'
    insert into #Fruit select '西瓜'select ID=identity(int,1,1),Name into # from 
    (
     select distinct name from #nnn
    )T
    select * from #insert into #nnn select distinct T.Name,F.Fruit from # T
    ,#Fruit F where F.ID=T.ID
    select * from #nnn 
    ID          Name                 Value
    ----------- -------------------- --------------------
    1           小明                   苹果
    2           小明                   橘子
    3           小王                   苹果
    4           小明                   香蕉
    5           小明                   花生
    6           小王                   梨
    7           小明                   葡萄
    8           小王                   西瓜