我正在尝试用另一个联接创建的第二个表联接一个表。我不确定我是否做得正确。我正在接收一个错误代码,“每个派生表必须具有自己的别名”。创建别名不是我以前做过的事情。您能否让我知道如何调整查询?谢谢。

Select
    questionnaire_status.*
FROM
    questionnaire_status
LEFT JOIN
    (SELECT
        rep_list.Last_Name,
        rep_list.First_Name,
        dept_codes.dept_name
     FROM
        rep_list
     Left Join
        dept_codes
     ON
        rep_list.dept =dept_codes.dept_id
    )
ON
    questionnaire_status.RR = rep_list.RR
WHERE
    questionnaire_Status.Attestation_submitted = '0'

最佳答案

您当前正在使用子查询,除非绝对必要,否则您不应该这样做。 (最好是多个联接是这样的:

SELECT
    questionnaire_status.*,
    rep_list.Last_Name,
    rep_list.First_Name,
    dept_codes.dept_name
FROM
    questionarrie_status
LEFT JOIN
    rep_list
ON
    questionnaire_status.RR = rep_list.RR
LEFT JOIN
    dept_codes
ON
    rep_list = dept_codes.dept_id
LEFT JOIN
    questionarrie_status

WHERE
    questionnaire_Status.Attestation_submitted = '0'

关于mysql - 如何在MySQL中编写多个联接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18381765/

10-13 05:48