Почему я получаю эту синтаксическую ошибку в MySQL?

#mysql

#mysql

Вопрос:

Я не могу понять, почему у меня эта синтаксическая ошибка из MySQL:

#1064 — У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с ‘cc.cursoID = c.cursoID JOIN cursosUsuarios cu НА c.cursoID = cu.cursoID JOIN u’ в строке 17

Это мой запрос:

 SELECT 
e.examenID, e.contenidoID, e.tituloExamen, 
u.userID, u.userEmail,
cu.userID, cu.cursoID, cu.examenes, cu.examenesRendidos,
co.contenidoID, co.tituloContenido,
cc.contenidoID, cc.cursoID,
c.cursoID, c.nombreCurso

FROM examenes ex 
JOIN contenidos co
ON ex.contenidoID = co.contenidoID

JOIN cursosContenidos cc
ON co.contenidoID = cc.contenidoID

JOIN cursos c
cc.cursoID = c.cursoID

JOIN cursosUsuarios cu
ON c.cursoID = cu.cursoID

JOIN usuarios u
ON cu.userID = u.userID

WHERE
cu.cursoID = 15
cu.userID = 1
  

Это строка 17:

 JOIN cursos c
cc.cursoID = c.cursoID
  

Комментарии:

1. вы забыли ON предыдущее cc.cursoID = c.cursoID

2. Спасибо! Вы правы! Пожалуйста, ответьте на вопрос, чтобы я мог его принять 🙂

3. Вам также не хватает AND OR ключевого слова or в WHERE предложении.

Ответ №1:

Вы пропускаете «ВКЛЮЧЕНО».

 SELECT 
e.examenID, e.contenidoID, e.tituloExamen, 
u.userID, u.userEmail,
cu.userID, cu.cursoID, cu.examenes, cu.examenesRendidos,
co.contenidoID, co.tituloContenido,
cc.contenidoID, cc.cursoID,
c.cursoID, c.nombreCurso

FROM examenes ex 
JOIN contenidos co
ON ex.contenidoID = co.contenidoID

JOIN cursosContenidos cc
ON co.contenidoID = cc.contenidoID

JOIN cursos c
ON cc.cursoID = c.cursoID

JOIN cursosUsuarios cu
ON c.cursoID = cu.cursoID

JOIN usuarios u
ON cu.userID = u.userID

WHERE
cu.cursoID = 15 AND
cu.userID = 1
  

Комментарии:

1. не просто переделывайте все это. сингл on там практически невидим. укажите, ГДЕ именно было внесено изменение. но в остальном все правильно.

Ответ №2:

Строка 17 должна быть

ПРИСОЕДИНИТЬСЯ к курсорам c
НА cc.cursoID = c.cursoID

Вы забыли добавить «ON» с помощью join .