繁体   English   中英

内部联接仅从mysql中选择两条记录

[英]Inner Join select only two records from mysql

我有一个主题和一个科室表,每个科目都与科室表相关联。 我正在尝试选择所有主题,包括部门名称。 下面的代码工作完美,但仅显示两个记录。 任何帮助将不胜感激

//Select statement
$selects=$connection->query("SELECT
subjects.id
, subjects.name
, subjects.related_to
, subjects.related_to_sem
, departments.dept
FROM subjects
INNER JOIN departments
ON subjects.related_to = departments.dep_id");

<table class="table table-striped table-bordered bootstrap-datatable datatable">
<thead>
<tr>
<th>Sub Id</th>
<th>Subject Name</th>
<th>Related to Department</th>
<th>Related to Semester</th>
<th>Actions</th>
</tr>
</thead>   
<tbody>
<?php
while($result=$select->fetch_assoc()) { 
?>
<tr>
  <td><?php echo $result['id']; ?></td>
  <td class="center"><?php echo $result['name']; ?></td>
  <td class="center"><?php echo $result['dept']; ?></td>
 <td class="center"><?php echo $result['related_to_sem']; ?></td>
 <td class="center">
 <a class="btn btn-info" href="#">
<i class="icon-edit icon-white"></i>  
Edit                                            
</a>
<a class="btn btn-danger" href="#">
<i class="icon-trash icon-white"></i> 
Delete
</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
select 

subjects.id,subjects.name,
subjects.related_to,
subjects.related_to_sem,
departments.dept 

from 

subjects

LEFT OUTER JOIN departments ON subjects.id=departments.dep_id

请尝试以下方法。 我认为您可能在联接条件中使用了错误的字段:

SELECT
      subjects.id
    , subjects.name
    , subjects.related_to
    , subjects.related_to_sem
    , departments.dept
FROM subjects
      INNER JOIN departments
                  /* ON subjects.id = departments.dep_id */
                  ON subjects.dep_id = departments.id

部门的主题表中的“外键”更有可能是主题。dep_id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM