我得到了三个表,cours、documents 和 cours_document。
我想选择所有没有文件的课程。我试过这个:
SELECT cours.id AS cid, cours.name AS cname, DATE_FORMAT(cours.date,"%H:%i") AS cdate, DATE_FORMAT(cours.date,"%a") AS jour,sessions.id AS sid,sessions.name AS sname,sessions.restant,session_cours.session_id,session_cours.cours_id, ISNULL(cours.video_id) AS isVid
FROM cours,sessions,session_cours
INNER JOIN cours_document ON cours.id=cours_document.cours_id AND COUNT(cours_id)=0
WHERE cours.prof_id = :prof_id
AND sessions.prof_id = :prof_id
AND session_cours.cours_id=cours.id
AND sessions.id=session_cours.session_id
AND DATE_FORMAT(cours.date,"%Y-%m-%d") >= :date_min
AND DATE_FORMAT(cours.date,"%Y-%m-%d") <= :date_max
GROUP BY cours.id ORDER BY date ASC
但是这个查询不起作用。SQL告诉我:Column not found: 1054 Unknown column cours.id in on clause (500 Internal Server Error)
第一个问题,这个查询可以工作吗?(我的意思是ON [...] AND COUNT(cours_id)=0
)
而且,为什么会出现这个错误?我的意思是 cours.id 已定义,并且 select, cours 在 FROM 子句中......我尝试使用别名(cid),MySQL 也同样回答我......