0

嗨,如果对如何构建我的 sql 语句有疑问,我将不胜感激有关我应该如何正确处理的任何帮助。我想要实现的是显示来自tbl_adviser的所有顾问,同时还显示教师从tbl_section分配的班级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,则他们只能查看相同的数据

这是我的数据库结构:

tbl_section:

section_id
section_name
sy
adviser_id
level
bname

tbl_adviser:

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'不明确”。

4

1 回答 1

1

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'
于 2012-09-20T09:53:39.853 回答