我正在使用 php mysql,并且已加入 3 个表:demanddraft
、payonline
和 registration
。现在我想根据校园类(class)和考试日期从这三个表中获取值。
registration表有三个字段:campus1
、course1
和examdate
,根据这些字段我们必须从表 demanddraft 和 payonline 中获取值。我想从 payonline 表获取 status=success
的值,并从demanddraft 表获取 ddstatus=approved
的值。但无法获取所需的记录。
这是我的查询:
$sql= "select * from programme prog
join demanddraft dem ON prog.stuid = dem.stuid
join payonline pay ON pay.stuid = prog.stuid
where ((pay.status='success' || dem.ddstatus='Approved')
&& prog.campus1='".$campus1."') && prog.course1='".$course1."'
&& prog.examdate='".$examdate."'";
预先感谢您的帮助。
最佳答案
there is no error but few records are missing e.g i have 194 students as success in payonline table and 9 students as approved in demendraft table so total should be 203 but my query giving me 183
这可能是您的实际结果。 据我所知,你在哪里 ((pay.status='success' || dem.ddstatus='Approved') && prog.campus1='".$campus1."').所以,是的,您可以在 pay 表中有 194 个,在 dem 表中有 9 个,但这并不意味着它们都具有 prog.campus1='".$campus1."' 。或任何接下来的 WHERE 条件。
如果您可以将表格和数据发布到类似 http://sqlfiddle.com/ 的地方,那就太好了这样我们就可以运行查询并浏览您的数据(200 条记录并不算多)
关于php - 3 个表的连接查询在 php mysql 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21131052/