Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL-使用引用表更新表_Sql - Fatal编程技术网

SQL-使用引用表更新表

SQL-使用引用表更新表,sql,Sql,我有两个表,我需要使用表2作为参考来更新表1 表1 ID Type A 1 A 1 A 1 A 2 A 2 A 1 B 2 B 2 B 1 B 2 B 1 B 1 B 2 表2 ID Type_1 Type_2 A Apple Samsung B Samsung Apple 根据以上内容,我需要使用表2中的Type_1列更新表_1中的Type列,其中对于ID='A',Type 1=Apple和2=Samsung如果要更新表

我有两个表,我需要使用表2作为参考来更新表1

表1

ID  Type
A   1
A   1
A   1
A   2
A   2
A   1
B   2
B   2
B   1
B   2
B   1
B   1
B   2
表2

ID  Type_1  Type_2
A   Apple   Samsung
B   Samsung Apple

根据以上内容,我需要使用表2中的Type_1列更新表_1中的Type列,其中对于ID='A',Type 1=Apple和2=Samsung

如果要更新表_1的列[Type],以下是查询:

UPDATE Table_1
SET Type = CASE
            WHEN T1.Type = '1' THEN T2.Type_1
            WHEN T1.Type = '2' THEN T2.Type_2
            ELSE T1.Type
          END
FROM Table_1 T1
INNER JOIN Table_2 T2 ON T2.ID = T1.ID
这就是你要问的问题吗


希望这会有所帮助。

您使用的是什么数据库?