sql >> Databáze >  >> RDS >> Mysql

Nápověda k chybě MySQL:Neznámý sloupec v klauzuli On

Problém je v tom, že tabulka, která se spojuje, je ON klauzule zatím není v dotazu.

Místo toho:

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 ;

Jinými slovy, musíte se připojit k tabulce tak, že ji připojíte k tabulce, která je již ve vašem dotazu. Musí být spojeny v pořadí, abych tak řekl.



  1. Způsoby implementace verzování dat v PostreSQL

  2. Zeptejte se Oracle na podrobnosti o chybě kódu ORA

  3. změnit stav uživatelského účtu Oracle z EXPIRE(GRACE) na OPEN

  4. SQL Server Převod celého čísla na binární řetězec