表A:
id Num name
1 11 aa
2 22 bb
3 aa
4 bb 怎么将name为空的Num修改为与之相同(Num=name)的Num
如得到的结果应该为:id Num name
1 11 aa
2 22 bb
3 11
4 22
id Num name
1 11 aa
2 22 bb
3 aa
4 bb 怎么将name为空的Num修改为与之相同(Num=name)的Num
如得到的结果应该为:id Num name
1 11 aa
2 22 bb
3 11
4 22
set num=b.num
from a b join a on a.num=b.name
-- -----------t_mac 小编-------------------
--------------------希望有天成为大虾----
-- =========================================IF OBJECT_ID('A') IS NOT NULL
DROP TABLE A
GO
CREATE TABLE A( id int, Num varchar(10), name varchar(10) )
go
insert A SELECT
1 , '11' , 'aa' UNION ALL SELECT
2 , '22' , 'bb' UNION ALL SELECT
3 , 'aa' , NULL UNION ALL SELECT
4 , 'bb' , NULL
GO
update a
set num=b.num
from a b join a on a.num=b.nameSELECT * FROM Aid Num name
----------- ---------- ----------
1 11 aa
2 22 bb
3 11 NULL
4 22 NULLgo
num = B.num
FROM tb AS A
JOIN tb AS B
ON A.name IS NULL AND B.name IS NOT NULL
AND A.num = B.name;
-- -----------t_mac 小编-------------------
--------------------希望有天成为大虾----
-- =========================================IF OBJECT_ID('A') IS NOT NULL
DROP TABLE A
GO
CREATE TABLE A( id int, Num varchar(10), name varchar(10) )
go
insert A SELECT
1 , '11' , 'aa' UNION ALL SELECT
2 , '22' , 'bb' UNION ALL SELECT
3 , 'aa' , '' UNION ALL SELECT
4 , 'bb' , ''
GO
update a
set num=b.num
from a b join a on a.num=b.nameSELECT * FROM Aid Num name
----------- ---------- ----------
1 11 aa
2 22 bb
3 11
4 22
go
DROP TABLE A
GO
CREATE TABLE A( id int, Num varchar(10), name varchar(10) )
go
insert A SELECT
1 , '11' , 'aa' UNION ALL SELECT
2 , '22' , 'bb' UNION ALL SELECT
3 , 'aa' , null UNION ALL SELECT
4 , 'bb' , null
go
update a
set num=b.num
from a b join a on a.num=b.name
where a.name is nullSELECT * FROM A