Хорошо ... Я огляделся и не нашел ничего, что помогло бы мне решить мою конкретную проблему. У меня есть таблица с содержимым, которое я пытаюсь переместить (таблица1) в существующую таблицу (таблица2) во вновь созданные столбцы. table1:SQL/SSMS - частичные данные перемещаются из одной таблицы в другую с двумя условиями
CNTC_COMM_TYP_ID CNTC_COMM_VAL CNTC_ID COMM_TYP_ID
14 406-444-1104 4 1
15 406-443-2127 4 4
16 s[email protected] 4 3
17 406-338-2181 16 1
18 406-338-7127 16 4
table2:
CNTC_ID CNTC_NM ST_ENTY_ID TRBL_ID WorkPhone CellPhone Email Fax
1 Poole, Andy 10 NULL NULL NULL NULL NULL
2 Goodwin, Annie NULL 5 NULL NULL NULL NULL
Проблема, что у меня возникли проблемы с отделяющий значения в соответствующем столбце. То, что я ищу что-то вроде:
WHERE table1.CNTC_ID = table2.CNTC_ID
и:
IF (GAIN_CNTC_COMM_TYP.CNTC_TYP_ID= 1) {
SET WorkPhone = table1.CNTC_COMM_VAL
}
ELSE IF (table1.CNTC_TYP_ID= 2) {
SET CellPhone = table1.CNTC_COMM_VAL
}
ELSE IF (table1.CNTC_TYP_ID= 3) {
SET Email = table1.CNTC_COMM_VAL
}
ELSE IF (table1.CNTC_TYP_ID = 4)
SET Fax = GAIN_CNTC_COMM_TYP.CNTC_COMM_VAL
}
Я попытался собираю случай, когда в SQL, но я изо всех сил.
Просто любопытно, почему КТР? Не могли бы вы просто поставить аргументы case в обновлении или это не лучшая практика? – manderson
мы не можем добавить эти операторы case в set clause непосредственно .. вместо cte вы можете использовать производную таблицу .. но cte выглядит более читаемым –
Я просто все это построил сам, и теперь понимаю. @Prdp спасибо. – manderson