php - 3 个表的连接查询在 php mysql 中无法正常工作

标签 php mysql join

我正在使用 php mysql,并且已加入 3 个表:demanddraftpayonlineregistration。现在我想根据校园类(class)和考试日期从这三个表中获取值。

registration表有三个字段:campus1course1examdate,根据这些字段我们必须从表 demanddraftpayonline 中获取值。我想从 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/

相关文章:

php - 如何在 Javascript 中使简单的 php 的 foreach 等效?

jquery - 是否可以使用 jquery 和 mysql 在数据库表中插入一条新记录?

mysql优化带子查询的左连接

entity-framework - 使用 EF Code First 与联接表建立一对多关系

php - 使用 Node.js 在 PHP 应用程序中显示消息的实时通知

php - 如何在不使用 PHP 的情况下将一个查询的值传递给另一个查询 MySQL

php - Codeigniter 3.x/$config ['time_reference' ] = 'gmt' 无法按预期工作

带条件列的 Mysql View

php - 需要帮助找出 MySQL 查询来计算某个数字

sql-server - 在没有连接的情况下,t-sql 更新如何工作