UPDATE 表1
SET 字段1=表2.字段1,
字段2=表2.字段2
FROM 表1
INNER JOIN 表2
ON 表1.关键字=表2.关键字
WHERE ID=1
更新某一列行
UPDATE 表1
SET 字段=表2.字段
FROM 表1
INNER JOIN 表2
ON 表1.关键字=表2.关键字
Create Table #TMP(
ID int identity(1,1),
firstBalance int,
lastBalance int
)
Insert Into #TMP (lastBalance) Values(1)
Insert Into #TMP (lastBalance) Values(3)
Insert Into #TMP (lastBalance) Values(5)
Insert Into #TMP (lastBalance) Values(2)
Insert Into #TMP (lastBalance) Values(9)
Insert Into #TMP (lastBalance) Values(10)
Select (Select lastBalance From #Tmp C Where ID=(Select Max(ID) From #Tmp A Where A.ID<#TMP.ID)) As firstBalance ,lastBalance From #TMP
Drop Table #TMP
--表需要一个自增的ID,如果没有,给个排序的字段也可!
如果没有主键,而数据库中重复的行(对应的字段值都一样),不能简单的删除、更新部分行而其它重复行不受影响。因为计算机不知道第一行是哪一行(重复行是并列的,没有谁先谁后)。这里,可以改变思路:可以先复制出一条满足一定特征的重复行放在临时表中,然后删除满足特征的重复行,再从临时表中将刚才的记录重复(4次)插入表中,这样可以恢复4条重复行(相当于7到10行的重复行),再将临时表中的记录update后插入表中(6次),问题解决。
只是,这样的重复有什么意义呢?
建议添加主键,这样 *** 作简单利多。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)