sql 我想把一个数据表的第一行的某一列的值更新到另一个表中去,SQL语句怎么写啊?

sql 我想把一个数据表的第一行的某一列的值更新到另一个表中去,SQL语句怎么写啊?,第1张

更新第一行

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次),问题解决。

只是,这样的重复有什么意义呢?

建议添加主键,这样 *** 作简单利多。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6686465.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存