2015-09-11 90 views
1

我運行下面的查詢:無法插入查詢結果到SQL查詢在phpMyAdmin

SELECT * 
INTO consolidated 
FROM (SELECT qtyAvailable 
      FROM Inventory 
      UNION ALL 
      SELECT revenue, 
        location, 
        qtySold 
      FROM sales 
      UNION ALL 
      SELECT inactive, 
        new, 
        itemNum, 
        category, 
        subCategory, 
        color, 
      FROM Masterlist) n 

而得到這些錯誤

Error 
SQL query: Documentation 


SELECT * 
INTO consolidated 
FROM (SELECT qtyAvailable 
      FROM Inventory 
      UNION ALL 
      SELECT revenue, 
        location, 
        qtySold 
      FROM sales 
      UNION ALL 
      SELECT inactive, 
        new, 
        itemNum, 
        category, 
        subCategory, 
        color, 
      FROM Masterlist) n 
LIMIT 0, 25 
MySQL said: Documentation 

#1327 - Undeclared variable: consolidated 

,當我刪除新表或「變量」這個錯誤

Error 
SQL query: Documentation 


SELECT * 
FROM (SELECT qtyAvailable 
      FROM Inventory 
      UNION ALL 
      SELECT revenue, 
        location, 
        qtySold 
      FROM sales 
      UNION ALL 
      SELECT inactive, 
        new, 
        itemNum, 
        category, 
        subCategory, 
        color, 
      FROM Masterlist) n 
LIMIT 0, 25 
MySQL said: Documentation 

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM Masterlist) n 
LIMIT 0, 25' at line 16 

當我刪除了n,則類似的錯誤

Error 
SQL query: Documentation 


SELECT * 
FROM (SELECT qtyAvailable 
      FROM Inventory 
      UNION ALL 
      SELECT revenue, 
        location, 
        qtySold 
      FROM sales 
      UNION ALL 
      SELECT inactive, 
        new, 
        itemNum, 
        category, 
        subCategory, 
        color, 
      FROM Masterlist) 
LIMIT 0, 25 
MySQL said: Documentation 

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM Masterlist) 
LIMIT 0, 25' at line 16 

我對myPHP並沒有很深的經驗,但基本上我正在數據庫中的三個表上運行一個查詢,並且我想將結果插入到一個新的表中,我稱之爲合併。我創建了統一表並將列留空。我不知道從哪裏開始,預先感謝任何幫助!我想出了基於這個初始查詢post

+0

插入其插入'和into'當你想通過選擇插入其'插入到表從...'你的語法是錯誤的選擇,你應該提供一些樣本數據和預期的結果。當你做聯合或聯合時,所有的選擇都應該有相同的列數,這在你的情況下不是那麼重要。 –

+0

謝謝,但我得到這個錯誤 – kat

+0

你只要引用此鏈接http://blog.sqlauthority.com/2007/08/15/sql-server-insert-data-from-one-table-to-another-table-插入選擇選擇表/ – vishuB

回答

0

您在最後一個from子句之前有一個多餘的逗號導致第二個錯誤。無論如何,MySQL不支持select ... into語法。相反,你應該使用insert ... select語法:

INSERT INTO consolidated 
SELECT * 
FROM (SELECT qtyAvailable 
     FROM Inventory 
     UNION ALL 
     SELECT revenue, 
       location, 
       qtySold 
     FROM sales 
     UNION ALL 
     SELECT inactive, 
       new, 
       itemNum, 
       category, 
       subCategory, 
       color -- redundant comma removed here 
     FROM Masterlist) n 
+0

真棒!這工作,但我現在得到這個#1248 - 每個派生表都必須有自己的別名,我敢肯定這是不相關的查詢架構,我可能會打開一個單獨的問題,如果我無法找到答案在這裏,謝謝你非常感謝你的幫助! – kat

+0

@kat我錯誤地刪除了'n'別名(已編輯和修復)。如果這發生在另一個查詢上,即使它在同一個腳本中,請打開一個新問題。 – Mureinik