#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 .