3つのテーブル、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が同じように応答します...