Mysql 使用Select&;在同一查询中插入

Mysql 使用Select&;在同一查询中插入,mysql,Mysql,我有三个表,我正在尝试从一个表中进行选择,并在三个值相同的列上使用ON插入到另一个表中 这是我想要做的 INSERT INTO CustomerDetails_TEST (Region_ID) SELECT RegionStatesUS.Region_ID LEFT JOIN Customers ON Customers.Customer_ID = CustomerDetails_TEST.Customer_ID LEFT JOIN RegionStatesUS ON RegionState

我有三个表,我正在尝试从一个表中进行选择,并在三个值相同的列上使用ON插入到另一个表中

这是我想要做的

INSERT INTO
CustomerDetails_TEST
(Region_ID)

SELECT
RegionStatesUS.Region_ID

LEFT JOIN Customers ON Customers.Customer_ID = CustomerDetails_TEST.Customer_ID
LEFT JOIN RegionStatesUS ON RegionStatesUS.RegionState = Customers.BillingStateOrProv

FROM Customers
WHERE Customers.Customer_ID = CustomerDetails_TEST.Customer_ID
桌子是

CustomerDetails_TEST
RegionStatesUS
Customers
我正在尝试使用
客户ID
区域statesus.Region\u ID
中的值插入到
客户详细信息测试中
区域ID


我在这里错过了什么?

来自左前加入。错误消息暗示了这一点。请重试。

您的SQL语法错误,我想您可能需要:

INSERT INTO CustomerDetails_TEST (Region_ID)
SELECT r.Region_ID
FROM Customers c1
LEFT JOIN CustomerDetails_TEST c2
    ON c1.Customer_ID = c2.Customer_ID
LEFT JOIN RegionStatesUS r
    ON c1.BillingStateOrProv = r.RegionState 
更新查询将类似于此未测试:


看不出该在哪里发表评论 只是关于如何更新的注释,或者

insert into mytable
select from sometable
on duplicate key update
id = sometable.id;

错误:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解第8行的“LEFT JOIN Customers ON Customers.Customer\u ID=CustomerDetails\u TEST.Customer\u ID”的正确语法。这太棒了!更新如何,我如何使用它更新
CustomerDetails\u TEST
中的每条记录?@mont如果看到我的编辑,你的
更新将类似于我的编辑。非常简单!谢谢你的帮助!
insert into mytable
select from sometable
on duplicate key update
id = sometable.id;