我需要在两个表之间left join
来获取第一个表中的课程,而在第二个表中不存在。但是我也希望在第二张表中选择小于60的课程(即使它存在于两个表中)。
SELECT offerd_course.id,offerd_course.course_id,
offerd_course.instructor_name,offerd_course.hour,
offerd_course.course_name,
offerd_course.day,offerd_course.place,
offerd_course.type
FROM offerd_course
LEFT JOIN student_course
ON offerd_course.course_id = student_course.course_id
WHERE student_course.mark >=60 AND student_course.course_id IS NULL
怎么办?
答案 0 :(得分:1)
$query = mysql_query("SELECT offerd_course.id,offerd_course.course_id,offerd_course.instructor_name,offerd_course.hour, offerd_course.course_name, offerd_course.day,offerd_course.place,offerd_course.type
FROM offerd_course
LEFT JOIN student_course
ON offerd_course.course_id = student_course.course_id
AND student_course.mark >=60
AND student_course.course_id is NULL
") or die(mysql_error()) ;
答案 1 :(得分:1)
试试这个:
SELECT offerd_course.id,offerd_course.course_id,
offerd_course.instructor_name,offerd_course.hour,
offerd_course.course_name,
offerd_course.day,offerd_course.place,
offerd_course.type
FROM offerd_course
LEFT JOIN student_course
ON offerd_course.course_id = student_course.course_id
WHERE student_course.mark >=60 AND student_course.course_id IS NULL
UNION
SELECT offerd_course.id,offerd_course.course_id,
offerd_course.instructor_name,offerd_course.hour,
offerd_course.course_name,
offerd_course.day,offerd_course.place,
offerd_course.type
FROM offerd_course
JOIN student_course
ON offerd_course.course_id = student_course.course_id
WHERE student_course.mark < 60