怎样进行选择性插入?
只改变一条记录的某些字段,其他与另一条记录都相同,存成另一条新记录,请问该如何写?
例如,不改变的字段是fie1,fie2,fie7,fie8,改变的是fie3,fie4,fie5,fie6.
另一条记录的条件是 fie1='ssss',fie2='tttt'.
问题点数:20、回复次数:5Top
1 楼BrentIvan(Ivan)回复于 2002-04-05 16:48:11 得分 10
Insert Into tablename(fie1, fie2, fie3, fie4, fie5, fie6, fie7, fie8)
Select fie1, fie2, newvalue, newvalue, newvalue, newvalue, fie7,
fie8
From tablename
Where fie1 = 'ssss' And fie2 = 'tttt'Top
2 楼xhuangp(老三)回复于 2002-04-05 16:54:39 得分 2
table :test
insert into test select t1.fie1, t1.fie2,'fie3','fie4','fie5','fie6' ,t1.fie7,t1.fie8
from test t1
where
t1.fie1='ssss'
and
t1.fie2='tttt'
Top
3 楼netty(程序员的眼睛。魔术师的手。)回复于 2002-04-05 16:57:13 得分 0
还有假如说fie3为在原值(原来的fie3)的基础上加1,怎样写,有函数吗?Top
4 楼weidegong(weidegong)回复于 2002-04-05 17:00:07 得分 5
首先,主键字段不能相同:假设主键字段名称为Key,表名Worker
insert into worker (Key,sex,age)
select 'new',viewa.sex,viewb.age from
(select * from worker where Key='第一条记录主键值') as viewa , (select * from worker where Key='张二条记录主键值') as viewb
上述记录添加了一个主键为“new”,使用第一条记录的sex字段,第二条记录的age字段Top
5 楼xhuangp(老三)回复于 2002-04-05 23:22:15 得分 3
table :test
insert into test select t1.fie1, t1.fie2,t1.fie3+1,'fie4','fie5','fie6' ,t1.fie7,t1.fie8
from test t1
where
t1.fie1='ssss'
and
t1.fie2='tttt'
Top




