【发布时间】:2017-03-20 07:59:43
【问题描述】:
course{
course_id,
course_name,
}
subject{
subject_id,
subject_name,
course_id
}
student{
email,
course_id,
}
这是我的代码,它显示所有属于课程的科目
$_GET['email_address']=$_SESSION['email_address'];
$sql="(SELECT c.course_name course_name,su.subject_name subject_name
from subject su LEFT JOIN course c ON c.course_id=su.course_id)
UNION (SELECT c.course_name course_name,s.email_address email_address
from student s LEFT JOIN course c ON s.course_id=c.course_id
WHERE s.email_address='".$_SESSION['email_address']."')";
当课程由“kamal@gmail.com”完成时,我想获取所有科目属于由“kamal@gmail.com”完成的课程,kamal@gmail.com 是学生电子邮件
样本数据为:
课程:
course_id course_name
1 IT
2 Business
3 Design
主题:
subject_id subject_name course_id
111 html 1
222 java 1
333 Econ 2
444 Photoshop 3
学生:
email course_id
kamal@gmail.com 1
然后我想通过 kamal@gmail.com 获取属于 course_id=1 的科目的数据
【问题讨论】:
-
添加一些示例表数据和预期的结果 - 以及格式正确的文本。同时标记您正在使用的 dbms。
-
course{ course_id, course_name, } course (1,IT), (2,Business), (3,Design)
-
subject{ subject_id, subject_name, course_id } subject(111,html,1), (222,java,1),(333,Econ,2),(444,Photoshop,3)跨度>
-
学生{电子邮件, course_id, } 学生(kamal@gmail.com,1)
-
嘿,不像 cmets。改为编辑问题!