我有兩個數據庫,我試圖在它們之間傳輸數據。如何在MYSQL中使用select子查詢
我正在努力從一個訂單到另一個現在,但我遇到了一些我無法弄清楚正確的方法來做到這一點。
這裏的查詢迄今...
INSERT INTO `NEWTEST`.`Order_LineDetails`
(OrderLineItem_ID, Customer_ID, Order_ID)
SELECT
OrderDetailID,
(
SELECT o.CustomerID
FROM `OLDTEST`.`Order_Details` od
JOIN `OLDTEST`.`Orders` o ON o.OrderID = od.OrderID
),
OrderID
FROM `OLDTEST`.`Order_Details`
這是返回的錯誤「#1242 - 子查詢返回多個1行」。
結果我要爲將得到...
OLDTEST.Order_Details -> NEWTEST.Order_LineDetails
OLDTEST.Order.CustomerID -> NEWTEST.Customer_ID
OLDTEST.Order_Details.OrderID -> NEWTEST.Order_ID
我缺少什麼?
::::::編輯:::::::
這是現在正確,工作正常。
SELECT
od.OrderDetailID,
o.CustomerID,
od.OrderID
FROM `OrderProcessing`.`Order_Details` od
JOIN `OrderProcessing`.`Orders` o ON o.OrderID = od.OrderID
LIMIT 100
感謝您的支持。它節省了一些頭痛。 – Monty 2012-07-31 21:35:54
Woops。我錯過了一些東西,請參閱上面的修改。 – Monty 2012-07-31 22:30:57
我們能否看到一些示例數據,可能是http://sqlfiddle.com?該選擇查詢應爲您提供多行,除非每個訂單沒有匹配的訂單詳細信息。如果是這樣,你可以使用'LEFT OUTER JOIN'而不是你當前的(隱含'INNER')'JOIN',但是這應該會給你一堆'NULL'值,不是很有用... – bfavaretto 2012-07-31 22:40:32