复制某个字段一整列的数据到另外一个新的字段的几种方法
复制某个字段一整列的数据到另外一个新的字段的几种方法
这个实在网上摘抄过来的,感觉写的很好给大家分享一下
有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,或是需要把某个表的某个字段的值跨表复制到另一个表中的某个字段,本文就罗列了一些SQL语句写法,需要的朋友可以参考下
需求:把一个表某个字段内容复制到另一张表的某个字段。
实现sql语句1:
代码如下:
UPDATE file_manager_folder f1
LEFT OUTER JOIN file_manager_folder f2
ON f1.name = f2.name AND f2.parentId = 54
SET f1.parentId = 54
WHERE f2.name IS NULL AND f1.id IN (1,2,3);
实现sql语句2:
代码如下:update B set extra = A.extra from A join B on (A.id = B.id);
实现sql语句3:
代码如下:update b set b.sms = (select a.sms from a where a.id = b.id)
需要确定两张表中的id都是主键或者唯一
实现sql语句4:
代码如下:
UPDATE A SET A.SMS = (SELECT B.SMS FROM B WHERE A.ID = B.ID) WHERE EXISTS (SELECT 1 FROM B WHERE A.ID = B.ID);
实现sql语句5:
复制一个表字段数据到另外一个表的字段,可以这么写:
实现sql语句5:
代码如下:
UPDATE tb_1 INNER JOIN tb_2 ON tb_1.tid = tb_2.tid
SET tb_1.tcontent = tb_2.tcontent
附:同表复制
需求:把同一张表的一个字段内的内容复制到另一个字段里
例1:
我想把article表中A字段的内容复制到article表中B字段里面sql语句为:
代码如下:update article set B=A;
例2:
有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,这很简单,SQL可以这么写:
代码如下:UPDATE tb_1 SET content_target = content_source;
大概写法如下:
代码如下:Update {your_table} set {source_field} = {object_field} WHERE cause

两条记录的字段A值不同,要将它们的B C字段值交换
———————————————-
declare @B1 varchar(20),@C1 varchar(20)
declare @B2 varchar(20),@C2 varchar(20)
select @B1=B,@C1=C from t1 where a=’1′
select @B2=B,@C2=C from t1 where a=’2′
update T1 set B=@B2,C=@C2 where a=’1′
update T1 set B=@B1,C=@C1 where a=’2′
UPDATE table1 alias
SET (column_name,column_name ) = (
SELECT (column_name, column_name)
FROM table2
WHERE column_name = alias.column_name)
WHERE column_name = VALUE
update user a inner join userb b set a.blobinfo=b.blobinfo,a.userexp=b.userexp,a.userlevel=b.userlevel,a.leadability=b.leadability,a.physicalpower=b.physicalpower,a.rolename=b.rolename,a.gem=b.gem,a.gold=b.gold,a.costfree=b.costfree,a.ghostvalue=b.ghostvalue,a.friendvalue=b.friendvalue,a.crystal=b.crystal,a.energy=b.energy where a.userid=2811939441166 and b.userid=2811939441155;