I wrote a query in mysql to get all records from job_input table and corresponding output records if avaible from job_output table. It gives the following error:
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
Below is my query. What am I doing wrong??
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`
You need to put alias to join table?
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`