Выберите определенный столбец из таблицы 1 и вставьте в определенный столбец таблицы 2 с условиями условия Where - PullRequest
3 голосов
/ 15 марта 2019

Table1

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

Table2

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

Как видите, столбец Code_Id в таблице 2 имеет значение NULL. Мне нужно обновить этот столбец значениями из столбца «Id» в Таблице 1 с условием, когда значения в столбцах «Category_Id» и «Type_Id» в Таблице 1 соответствуют значениям в столбцах «Category_Id» и «Type_Id» в Таблице 2.

Как я должен это сделать? Спасибо и с нетерпением ждем вашей помощи.

Ответы [ 3 ]

2 голосов
/ 15 марта 2019

использовать объединение

UPDATE t2
SET Code_Id = t1.Id
FROM Table2 t2
JOIN Table1 t1 on t2.Type_Id=t1.Type_Id and t2.Category_Id=t1.Category_Id
2 голосов
/ 15 марта 2019

Использовать обновление соединения

update t2 set code_id=t1.id
from table2
join table1 t1 on t1.type_id=t2.type_id and t1.category_id=t2.category_id
1 голос
/ 15 марта 2019

Требуется псевдоним во всех условиях, например в наборе, где, поскольку в нескольких таблицах может быть одно и то же имя столбца, чем возникает ошибка.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...