Я пытаюсь заполнить свою таблицу собранными данными.
У меня есть три таблицы: INCIDENT_MAIN, INCIDENT_REPORT и PROJECT_PROFILE.
Я должен заполнить таблицу PROJECT_PROFILE из данных, предоставленных INCIDENT_MAIN AND INCIDENT_REPORT.
вот мой запрос на выполнение INNER JOIN
INSERT INTO PROJECT_PROFILE (INCIDENT_REPORT_ID, PROJECT_NAME,PROJECT_TYPE, PROJECT_PHASE, PROJECT_START_DATE,PROJECT_END_DATE,DOMESTIC_INTERNATIONAL,PROJECT_FACILITIES_LOGISTIC)
SELECT PROJECT_NAME, PROJECT_TYPE, PROJECT_PHASE, PROJECT_START_DATE, ESTIMATED_PROJECT_END_DATE, DOMESTIC_INTERNATIONAL, PROJECT_FACILITIES_LOGISTIC
FROM INCIDENT_MAIN INCIDENT_REPORT_ID
INNER JOIN INCIDENT_REPORT ON INCIDENT_REPORT.INCIDENT_REPORT_ID = PROJECT_PROFILE.INCIDENT_REPORT_ID
Я получил сообщение об ошибке многоэлементного идентификатора 'PROJECT_PROFILE.INCIDENT_REPORT_ID', не может быть связано
Поэтому я решил сначала заполнить таблицу PROJECT_PROFILE INCIDENT_REPORT_ID, чтобы я мог собрать данные INCIDENT_REPORT_ID из таблицы INCIDENT_REPORT. PROJECT_PROFILE_ID - автоинкремент, так как я установил его как КЛЮЧ IDENTITY.
Данные вставлены просто отлично. Ниже приведен результат.
![enter image description here](https://i.stack.imgur.com/uTa4x.png)
* Затронуто
234 строки.
Теперь я пытаюсь заменить значения NULL данными из INCIDENT_MAIN
Вот запрос
INSERT INTO PROJECT_PROFILE (PROJECT_NAME,PROJECT_TYPE, PROJECT_PHASE, PROJECT_START_DATE,PROJECT_END_DATE,DOMESTIC_INTERNATIONAL,PROJECT_FACILITIES_LOGISTIC)
SELECT PROJECT_NAME, PROJECT_TYPE, PROJECT_PHASE, PROJECT_START_DATE, ESTIMATED_PROJECT_END_DATE, DOMESTIC_INTERNATIONAL, PROJECT_FACILITIES_LOGISTIC
FROM INCIDENT_MAIN
WHERE PROJECT_PROFILE_ID >='1'
Но теперь форма данных INCIDENT_MAIN вставляется в последнюю строку 234, что увеличивает PROJECT_PROFILE_ID, а значения NULL НЕ ЗАМЕНЯЮТСЯ.
![enter image description here](https://i.stack.imgur.com/iNGtJ.png)
Как правильно сделать запрос, чтобы значения NULL могли быть заменены реальными данными, и при этом значение PROJECT_PROFILE_ID не увеличивается.
EDITED
Итак, я попробовал этот запрос на обновление согласно предложению
UPDATE PROJECT_PROFILE
SET PROJECT_PROFILE.PROJECT_NAME = INCIDENT_MAIN.PROJECT_NAME,
PROJECT_PROFILE.PROJECT_PHASE = INCIDENT_MAIN.PROJECT_PHASE,
PROJECT_PROFILE.PROJECT_START_DATE = INCIDENT_MAIN.PROJECT_START_DATE,
PROJECT_PROFILE.PROJECT_END_DATE = INCIDENT_MAIN.ESTIMATED_PROJECT_END_DATE,
PROJECT_PROFILE.DOMESTIC_INTERNATIONAL = INCIDENT_MAIN.DOMESTIC_INTERNATIONAL,
PROJECT_PROFILE.PROJECT_FACILITY_LOGISTIC = INCIDENT_MAIN.PROJECT_FACILITIES_LOGISTIC
FROM PROJECT_PROFILE JOIN INCIDENT_MAIN ON
PROJECT_PROFILE.PROJECT_NAME= INCIDENT_MAIN.PROJECT_NAME
WHERE PROJECT_PROFILE.PROJECT_PROFILE_ID <='234'
получение (затронуто 0 строк)