-1

3つのテーブルがあり、同じ値の3つの列でONを使用して、一方からSELECTを実行し、もう一方からINSERTを実行しようとしています。

これが私が試していることです...

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

そして、私はを使用しINSERTて価値を追求しようとしています。RegionStatesUS.Region_IDCustomer_ID INTO CustomerDetails_TESTRegion_ID

ここで何が欠けていますか?

4

3 に答える 3

1

FROMはLEFTJOINの前にあります。エラーメッセージはそれを示唆しています。再試行。

于 2012-09-13T15:39:44.133 に答える
1

あなたの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 

更新クエリは、テストされていないこれに似ています:

UPDATE CustomerDetails_TEST c1
LEFT JOIN Customers c2
    ON c1.Customer_ID = c2.Customer_ID
LEFT JOIN RegionStatesUS r
    ON c2.BillingStateOrProv = r.RegionState 
SET c1.Region_ID = r.Region_ID
于 2012-09-13T15:43:28.013 に答える
0

更新方法に関するメモだけをコメントする場所がわかりませんでした。

insert into mytable
select from sometable
on duplicate key update
id = sometable.id;
于 2012-09-20T06:37:10.380 に答える