更新连接 2 个表的列

问题描述 投票:0回答:1

我有2张表,表1是一个主表,其中有代码和各自的植物。表 2 有一些数据,其中我在主表(表 1)中具有相同的代码,并且我必须更新表 2 中的植物列,就像表 1 中的植物一样作为参考代码。我尝试了下面的更新语句,但它不起作用。请帮我更新。

UPDATE TABLE_B B
SET B.PLANT  = CASE
WHEN (B.CODE IN (SELECT CODE  FROM TABLE_A A))
THEN A.PLANT 
ELSE NULL
END;

表1

| code | plant | 
|:---- |:-----:|  
| A001 | 30009 |  
| B001 | 30018 | 
| C001 | 30006 | 

表2

| DATE        | CODE | PLANT |
|:------------|:----:|:-----:|
| 2024-09-03  | A001 |       |
| 2024-09-03  | B001 |       |
| 2024-09-03  | C001 |       |
| 2024-09-04  | A001 |       |
| 2024-09-04  | C001 |       |
| 2024-09-05  | A001 |       |
| 2024-09-06  | B001 |       |
| 2024-09-06  | A001 |       |
| 2024-09-06  | C001 |       |
sql hana
1个回答
0
投票

您可以使用 MERGE INTO ...

MERGE INTO TABLE_2 t2 
  USING ( Select  t1.code, t1.plant
          From    TABLE_1 t1
        ) x ON(x.code = t2.code)
When Matched Then 
Update SET t2.plant = x.plant
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.