Я новичок в SQL и надеюсь, что вы поможете мне с моей проблемой.
У меня есть таблица с именем Order_Status_Form_3
со столбцами Order_ID (KEY)
, Customer_ID
, Customer_Unique_ID
, Status(KEY)
и Date
.
Таблица заполнена, кроме столбца Customer_Unique_ID
.
Чтобы заполнить этот столбец, мне нужно сослаться на таблицу Customer
, где Customer_ID
связан с Customer_Unique_ID
, поэтому правильные идентификаторы перекрывают правильные места.Если Customer_ID
в Order_Status_Form_3
равно Customer_ID
в таблице Customer
, то указанное Customer_Unique_ID
должно быть вставлено в столбец Customer_Unique_ID
в Order_Status_Form_3
.
Я попытался объединить INSERT INTO
с SELECT
и INNER JOIN
, но получил сообщение об ошибке, в котором говорится:
"невозможно вставить NULL или обновить до NULL:Номер заказа".
Полагаю, программе непонятно, где вставить найденные значения, и она пытается вставить ее во все столбцы.Я искал похожие проблемы, но не смог найти удовлетворительных ответов для своей конкретной проблемы.
Вот код, который я использовал:
Insert Into "HXE_109"."Order_Status_Form_3" ("Customer_Unique_ID")
Select customer."customer_unique_id"
From "HXE_109"."Customer" As customer
Inner Join "HXE_109"."Order_Status_Form_3" As OrderStatus3
On OrderStatus3."Customer_ID" = customer."customer_id"
Я попытался указать место для вставки значений, найденныхприкрепив WHERE
в конце, но получил ту же ошибку.
Where OrderStatus3."Customer_ID" = customer."customer_id"
Кто-нибудь знает, как решить эту проблему и может сказать мне, где моя ошибка?
Заранее спасибодля чтения этого длинного вопроса и оставления ответа.
Редактировать
Я пытался использовать update
, но кажется, что я не могу понять это правильно.
Update "HXE_109"."Order_Status_Form_3"
Set "Customer_Unique_ID" = (Select customer."customer_unique_id"
From "HXE_109"."Customer" As customer
Inner Join "HXE_109"."Order_Status_Form_3" As OrderStatus3
On OrderStatus3."Customer_ID" = customer."customer_id")
Теперь я получаю следующую ошибку:
однострочный запрос возвращает более одной строки
Нужно ли здесь использовать условие Where
?
Извините за мою глупость.(