MySql带条件的左外连接
我有两张桌子MySql带条件的左外连接,mysql,sql,database,subquery,left-join,Mysql,Sql,Database,Subquery,Left Join,我有两张桌子 student_info(id,mobile,cTId,lvDate) term_marks(tmId,stdId,cTId,marks,year) 现在,我想通过其他检查找出所有不在学期分数内的学生id, 所以我使用这个查询,但它返回所有匹配和不匹配的两个表 $sql = "select * from student_info si LEFT OUTER JOIN term_marks tm ON si.id=tm.stdId and si.cTId
student_info(id,mobile,cTId,lvDate)
term_marks(tmId,stdId,cTId,marks,year)
现在,我想通过其他检查找出所有不在学期分数内的学生id,
所以我使用这个查询,但它返回所有匹配和不匹配的两个表
$sql = "select * from student_info si LEFT OUTER JOIN term_marks tm ON si.id=tm.stdId and si.cTId=tm.cTId AND tm.year=$year)
WHERE si.cTId=$cTId and si.lvDate=0";
我也试过了
$sql = "select * from student_info si left outer JOIN term_marks tm where si.id=tm.stdId
and si.cTId=tm.cTId and si.cTId=$cTId and tm.year=$year and si.lvDate=0";
你能帮我吗?但还有其他条件吗?可能吗$sql=选择si.*从学生信息si,其中si.id不在选择tm.stdId从学期标记tm,其中tm.year=$year和si.cTId=$cTId和si.lvDate=0;到处都有教程。尝试搜索SQL教程或SQL联接教程。或者更快的方法是购买一本关于MySql的高评价新书。试着在亚马逊上搜索一本好书。
SELECT si.*
FROM student_info si
WHERE si.cTId = $cTId
AND si.lvDate = 0
AND si.id NOT IN
(
SELECT tm.stdId
FROM term_marks tm
WHERE tm.year = $year
)