2015-11-20 10 views
0

Я написал запрос в mysql, чтобы получить все записи из таблицы job_input и соответствующих выходных записей, если они доступны из таблицы job_output. Он дает следующую ошибку:Left Join table error missing aliases

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

О да. Благодаря! –

 Смежные вопросы

  • Нет связанных вопросов^_^