[英]mysql join not working as expected
我想選擇給定日期的特定老師的時間表..聲明應假定老師可以在小學和中學任教
這是我的聲明
`select
class.name as subject_classmodel_name,
teachers.name as subject_teachers_name,
section.name as subject_section_name,
day.name as day_name,
time_format(time_range.time_start,'%H:%i') as time_time_start,
time_format(time_range.time_end,'%H:%i') as time_time_end,
sched.subject_ref, sched.time_ref, sched.day_ref
from schedule sched
join class_teachers_section
join time_range
join day
join class
join teachers
join section
where teachers.name = "ronald manlapao" and
section.level = "elementary" and
time_range.level = "elementary" and
class_teachers_section.id = sched.subject_ref and
class.id = class_teachers_section.class_ref and
teachers.id = class_teachers_section.teachers_ref and
section.id = class_teachers_section.section_ref and
day.id = sched.day_ref
order by time_range.time_start asc`
class_teachers_section(表)具有表class,teachers,section schedule(表)具有表class_teachers_section,day,time_range
輸出
預期結果
time_start(14:00)time_end(15:00)中只有一行(最后一行)應該在subject_classmodel_name,subject_teachers_name,subject_section_name,subject_ref,time_ref和day_ref列中具有數據。 其余的應該為空
我正在使用MYSQL 5.6。
我認為它不起作用,因為您缺少“ ON”語句
正確的語法是
SELECT field FROM tableA
JOIN tableB
ON tableA.id = tableB.id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.