我对 SQL 很陌生,希望你能帮助我解决我的问题。
我有一个名为、、和Order_Status_Form_3
列的表。Order_ID (KEY)
Customer_ID
Customer_Unique_ID
Status(KEY)
Date
表格已填满,但Customer_Unique_ID
列除外。
要填写此列,我需要引用链接到 的Customer
表,因此正确的 ID 覆盖正确的位置。当in等于表中的 the 时,应将给定的值插入到 in 的列中。Customer_ID
Customer_Unique_ID
Customer_ID
Order_Status_Form_3
Customer_ID
Customer
Customer_Unique_ID
Customer_Unique_ID
Order_Status_Form_3
我尝试将 aINSERT INTO
与 a结合使用SELECT
,INNER JOIN
但收到一条错误消息:
“无法插入 NULL 或更新为 NULL:Order_ID”。
我猜程序不清楚在哪里插入找到的值并尝试插入所有列。我搜索了类似的问题,但找不到针对我的具体问题的任何令人满意的答案。
这是我使用的代码:
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
我试图通过在末尾附加 a 来指定插入值的位置,但收到了相同的错误。
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
条件吗?
对不起我的愚蠢。:(