Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pomoc dotycząca błędów MySQL:Nieznana kolumna w klauzuli On

Problem polega na tym, że tabela, która jest łączona w twoim ON klauzula nie znajduje się jeszcze w zapytaniu.

Zamiast tego:

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 ;

Innymi słowy, musisz dołączyć do tabeli, łącząc ją z tabelą, która jest już w zapytaniu. Muszą być połączone w kolejności, że tak powiem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP/MySQL — błąd składni SQL?

  2. Jak wykonać wiele instrukcji SQL w jednym mysql_query?

  3. Nie znaleziono polecenia Mysql w systemie OS X 10.7

  4. Pobierz wszystkie rekordy rodziców/dzieci z bazy danych na Laravel (dane hierarchiczne)

  5. Dlaczego mysql_escape_string jest wysoce odradzane?