Я не знаю, как просто сформулировать мой вопрос, но вот сценарий.У меня есть две таблицы с данными следующим образом:
CertStatus Table:
CertStatus_KEY CertStatus_ID
1 ACTIVE
2 EXPIRED
CertImport Table:
Status
ACTIVE
EXPIRED
EXPIRED
ACTIVE
EXPIRED
ACTIVE
Что мне нужно сделать, это взять CertImport.Statusв столбце преобразуйте все эти состояния в CertStatus_KEY, соответствующий CertStatus_ID, а затем скопируйте всю эту информацию в третью таблицу с двумя столбцами, чтобы данные в конечном итоге выглядели следующим образом.
Таблица сертификации:
Certification_KEY CertStatus_KEY
1 1
2 2
3 2
4 1
5 2
6 1
Я пытаюсь использовать оператор Insert Into Select, но получаю сообщение об ошибке, согласно которому подзапрос возвратил более 1 значения.Вот что я получил:
INSERT INTO Certification (CertStatus_KEY)
SELECT (
SELECT CertStatus_KEY from CertStatus where CertStatus_ID in (
SELECT Status from CertImport)
)
Упрощенно, цель состоит в том, чтобы преобразовать CertImport.Status в значение CertStatus.CertStatus_KEY, соответствующее соответствующему CertStatus.CertStatus_ID, и затем вставить это значение в Сертификацию.CertStatus_KEY.
Спасибо.