一对一教学下单
表一(person表):字段有person_id(个人id),person_name(名字),person_age(年龄);
表二(course表):字段有course_id(课程id),teacher_id(教师id),student_id(学生id),course_name(课程名称),course_duration(课程时长,分钟),course_times(课程次数);
表三(order表):字段有order_id(订单id),course_id(课程id),money(金额),method(付款方式);
譬如,person表,记录为1,张三,28;2,李四,16;3,赵五,17;
course表,记录为1,1,2,数学,90,7;2,1,3,英语,90,10;
order表,记录为1,1,700,次结;2,2,1000,次结;
要求获取到教师名字,学生名字,课程名称,课程时长,课程次数,金额,付款方式,请问如何select???
最后结果应该是张三,李四,数学,90,7,700,次结;张三,赵五,英语,90,10,1000,次结
拜托各位大神帮忙~~~
SELECT
pt.person_name AS "teacherName",
ps.person_name AS "studentName",
c.course_name,
c.course_duration,
c.course_times,
o.money,
o.method
FROM course c
LEFT JOIN person pt ON pt.id=c.teacher_id
LEFT JOIN person ps ON ps.id=c.student_id
LEFT JOIN order o ON o.course_id=c.id;
你的要求 课程是焦点 其他表都是与它相关联
首先说下,多表查询你就把有关联的id 连起来就行了,至于你要查什么就select 什么。 还有你表怎么设计的,既有teacher_id,又有student_id,那你的teacher表呢?
表二(course表)中的teacher_id数据没看到管理的数据,你的表设计有点问题哦
你的表设计得有问题吧,如果一个课程有100个学生,是不是要在course表里插入100条数据???
select c.教师名字,p.学生名字,c.课程名称,c.课程时长,c.课程次数,o.金额,o.付款方式 from person p ,course c,order o where p.person_ID = c.persion_id
and c.course_id = o.course_id
字段名称自己去改吧
select pt.person_nam,ps.person_name,c.course_name,c.course_duration,c.course_times,o.money,o.method from course c
left join person p ON p.id=c.teacher_id
left join person ps ON ps.id=c.student_id
left join order o ON o.course_id=c.id;