如我有一个表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,要比较实用,简单的实现方法,谢谢
(
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,要比较实用,简单的实现方法,谢谢
insert nnn(name,[value]) select distinct name,'西瓜' from nnn
insert Name,value SELECT distinct NAME,'西瓜' FROM tab
INSERT NNN SELECT DISTINCE NAME,'西瓜' FROM 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 '小王','梨'insert into @nnn(name,value) select distinct Name,'西瓜' from @nnn
select * from @nnnID Name Value
----------- -------------------- --------------------
1 小明 苹果
2 小明 橘子
3 小王 苹果
4 小明 香蕉
5 小明 花生
6 小王 梨
7 小明 西瓜
8 小王 西瓜
比如表里只有小明和小王,那我给他们再加个属性如下
7 小明 葡萄
8 小王 西瓜
???
SELECT DISTINCT NAME,
CASE WHEN NAME='小明' THEN '葡萄' WHEN NAME='小王' THEN '西瓜' END FROM 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 小王 西瓜