У меня есть две таблицы:
TableA
+************************************+
|Col1 | code | Country | Value2 |
+************************************+
|Field1 | IN | INDIA | NA |
|Field2 | CA | CANADA | NA |
|Field3 | US | USA | NA |
+************************************+
TableB
+***************************+
|Field1 | Field2 | Field3 |
+***************************+
|1 | 4 | IN |
|2 | 5 | CA |
|3 | 6 | - |
+***************************+
Я пытаюсь обновить столбец Field3
в TableB
, на основе значений из столбца Country
в TableA
То есть: если Field3
в TableB
имеет значение IN
, то оно должно быть обновлено до India
или если Filed3
имеет значение CA
, его следует обновить до Canada
и в третьем случае, если не найдено соответствующего значения, должно быть получено обновление до «NA» или «NotSpecified»
До сих пор я пытался обновить TableB
, используя INNER JOIN
:
UPDATE TableB SET TableB.Field3 = TableA.Country
FROM TableB INNER JOIN TableA ON TableB.Field3 = TableA.Code
Я действительно изо всех сил пытаюсь обновить таблицу на основе нескольких IF
операторов? Должен ли я использовать CASE
?
Любая помощь или предложения будут высоко оценены.