Mysql
 sql >> Base de données >  >> RDS >> Mysql

Aide sur les erreurs MySQL :colonne inconnue dans la clause On

Le problème est que la table qui est jointe dans votre ON La clause n'est pas encore dans la requête.

Au lieu de cela :

SELECT
    esjp_section_refs.section_label,
    esjp_content.primary_key, esjp_content.content, esjp_content.summary_id, 
    esjp_role_refs.role_label, 
    esjp_users.first_name, esjp_users.last_name,
    FROM_UNIXTIME(esjp_content.sys_time)
FROM esjp_content
    INNER JOIN esjp_layout ON esjp_content.primary_key = esjp_layout.content_id 
    INNER JOIN esjp_section_refs ON esjp_layout.section_id = esjp_section_refs.primary_key    
    INNER JOIN esjp_role_refs ON esjp_content.role_ref = esjp_role_refs.primary_key
    INNER JOIN esjp_users ON esjp_content.author_id = esjp_users.primary_key
WHERE esjp_layout.primary_key = 1
ORDER BY esjp_layout.section_id ASC, esjp_layout.position ASC ;

En d'autres termes, vous devez joindre une table en la joignant à une table qui est déjà dans votre requête. Ils doivent être joints dans l'ordre, pour ainsi dire.