
[英]Update multiple columns in a table from another tables data including nulls
[英]How to update multiple columns of a table using another tables data in SQL?
我有两个表 A , B
一种
Id Col1 Col2 Col3
100 Null Null 0
乙
Id Colx Colz Coly
100 1234 10 4
100 2345 12 4
预期结果:
Id Col1 Col2 Col3
100 1234 2345 4
我试图让Colx
表B的进Col1
, Col2
分别基于Colz
但是没有得到预期的结果。 以下是我的查询 -
UPDATE a
SET a.Col1 = CASE WHEN b.Colz=10 THEN b.Colx END,
a.Col2 = CASE WHEN b.Colz=12 THEN b.Colx END,
a.Col3=b.Coly
FROM A a
JOIN B b ON b.Id = a.Id
请帮忙
您可以使用不同的条件两次加入同一个表,如下所示:
UPDATE a
SET a.Col1 = b1.Colx
a.Col2 = b2.Colx,
a.Col3=b1.Coly
FROM A a
JOIN B b1 ON b1.Id = a.Id AND b1.Colz=10
JOIN B b2 ON b2.Id = a.Id AND b2.Colz=12
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.