[英]How to update multiple columns of a table using another tables data in SQL?
I have two tables A , B我有两个表 A , B
A一种
Id Col1 Col2 Col3
100 Null Null 0
B乙
Id Colx Colz Coly
100 1234 10 4
100 2345 12 4
Expected Result:预期结果:
Id Col1 Col2 Col3
100 1234 2345 4
I am trying to get the Colx
of table B into Col1
, Col2
respectively based on Colz
however not getting the expected results.我试图让Colx
表B的进Col1
, Col2
分别基于Colz
但是没有得到预期的结果。 below is my query -以下是我的查询 -
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
Please help请帮忙
You can join the same table twice with different conditions like this:您可以使用不同的条件两次加入同一个表,如下所示:
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.