从Table1中选择某些列,并使用Where子句条件插入到Table2中的某些列

时间:2019-03-15 06:17:43

标签: sql sql-server sql-server-2008-r2

表1

|Id|Category_Id|Type_Id|Code|
+--+-----------+-------+----+
|1 |1          |1      |A   |
|3 |2          |1      |B   |
|4 |1          |3      |C   |

表2

|Id|Category_Id|Type_Id|Code_Id|
+--+-----------+-------+-------+    
|1 |1          |1      |NULL   |
|3 |2          |1      |NULL   |
|5 |9          |7      |NULL   |

如您所见,表2中的“ Code_Id”列为NULL。我需要使用表1中列“ Id”中的值更新该列,条件是表1中列“ Category_Id”和“ Type_Id”中的值与表2中列“ Category_Id”和“ Type_Id”中的值匹配。

我应该怎么做?谢谢,期待您的帮助。

3 个答案:

答案 0 :(得分:2)

使用加入更新

minioClient = new MinioClient("server URL", "accessKey",
      "secretKey");

答案 1 :(得分:2)

使用加入

function delete_quiz($id){
return $this->db->where('quiz_id',$id)->delete('table_name');
}

答案 2 :(得分:1)

在所有情况下(例如集合),都必须要求别名,这是因为在多个表中列名可能相同,而不是出现错误。

UPDATE A 
set A.code_id = B.id
FROM table2 A
INNER JOIN table1 B on B.type_id=A.type_id and B.category_id=A.category_id