2015-11-20 47 views
0

我在mysql中編寫了一個查詢,以獲取job_input表中的所有記錄和相應的輸出記錄(如果可從job_output表中獲取)。它給出了以下錯誤:左連接表錯誤缺少別名

Query: select ji.* from job_input as ji left join (select SUM(jo.O_Total) AS Total_Output, SUM(jo.O_XS) AS XS_Output, SUM(jo.O_S) AS ...

Error Code: 1248 Every derived table must have its own alias

以下是我的查詢。我究竟做錯了什麼??

SELECT ji.* 
    FROM `job_input` AS ji LEFT JOIN 
    (SELECT 
    SUM(jo.O_Total) AS Total_Output, 
    SUM(jo.O_XS) AS XS_Output, 
    SUM(jo.O_S) AS S_Output, 
    SUM(jo.O_M) AS M_Output, 
    SUM(jo.O_L) AS L_Output, 
    SUM(jo.O_XL) AS XL_Output, 
    SUM(jo.O_XXL) AS XS_Output, 
    SUM(jo.O_Other) AS Other_Output FROM `job_output` AS jo GROUP BY jo.`Job_InputID`) 
    ON jo.`Job_InputID`= ji.`Job_InputID` 

回答

2

你需要把別名加入表?

SELECT ji.* 
    FROM `job_input` AS ji LEFT JOIN 
    (SELECT 
    jo.`Job_InputID` AS JobID 
    SUM(jo.O_Total) AS Total_Output, 
    SUM(jo.O_XS) AS XS_Output, 
    SUM(jo.O_S) AS S_Output, 
    SUM(jo.O_M) AS M_Output, 
    SUM(jo.O_L) AS L_Output, 
    SUM(jo.O_XL) AS XL_Output, 
    SUM(jo.O_XXL) AS XS_Output, 
    SUM(jo.O_Other) AS Other_Output FROM `job_output` AS jo GROUP BY jo.`Job_InputID`) AS table2 
    ON table2.JobID = ji.`Job_InputID` 
+0

修復了錯誤,但未顯示job_output表的結果。只顯示來自job_input表的所有記錄。 –

+0

@azj你只能從ji – Strawberry

+0

中選擇哦,是的。謝謝! –