php - SQL从两个表中获取值

标签 php mysql sql

您好,如果我在如何构建 sql 语句方面遇到问题,我们将不胜感激,如果我能提供有关如何正确执行此操作的帮助,我们将不胜感激。我想要实现的目标是显示来自 tbl_adviser 的所有顾问,同时还显示从 tbl_section 分配老师的类(class) section_id 。这就是我到目前为止所想到的。

 $qry_display = "SELECT a.section_id,b.*
     from tbl_section As a LEFT OUTER JOIN tbl_adviser AS b ON a.section_id
                                 = b.adviser_id Where bname='$branch'"; 

我对 $branch 的想法是,如果用户具有相同的 bname,则他们只能查看相同的数据

这是我的数据库结构:

表节:

section_id
section_name
sy
adviser_id
level
bname

tbl_顾问:

adviser_id
lname_a
fname_a
address
bname
photo
cnumber

这就是我想要展示的方式:

 while (@$get_display = mysql_fetch_object(@$sql_display))
            {

            ?><tbody>
            <tr>
<td  class="text"><a href="adviser_view.php?&id=
<?php echo $get_display->adviser_id ?>">
            <?php echo @$get_display->adviser_id; ?></a></td>
                <td  class="text"><?php echo @$get_display->lname_a ?></td>
                <td  class="text"><?php echo @$get_display->fname_a ?></td>
                <td  class="text"><?php echo @$get_display->section_id ?></td>


            </tr>
            </tbody>

编辑:错误吐出是“on 子句中的列 'bname' 不明确”。

最佳答案

您的ON在我看来是不正确的:

ON a.section_id = b.adviser_id

应该是:

ON a.adviser_id = b.adviser_id

您还需要消除 bname 列的歧义 - SQL 不知道它应该来自 WHERE 子句中的哪个表:

Where bname='$branch'

可以是:

Where a.bname='$branch'

或者:

Where b.bname='$branch'

关于php - SQL从两个表中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12510091/

相关文章:

php - 分页未传递总页值

mysql - 列出表中行的内容 - 但只有一次

php - 命令不同步;你现在不能运行这个命令

mysql - 按其他日期分割日期

php - 在 MySQL 中获取总行数

MySQL table locking : holder reads and writes, other session only read?

Java SQL 优化

php - 在PHP中创建一个不确定深度的多维数组

PHP - 无法链接表以获取所需信息

php - <br> 之后的 $variables 没有显示在 php 的 echo 中