0

こんにちは、私のsqlステートメントを構造化する方法に問題がある場合は、それを正しく行う方法についての助けをいただければ幸いです。私が達成しようとしているのは、 tbl_adviserからすべてのアドバイザーを表示し、クラスsection_idも表示しながら、教師がtbl_sectionから割り当てられていることです。これは私がこれまでに思いついたものです。

 $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を持っている場合にのみ、同じデータを表示できるということです。

これは私のDB構造です:

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

また、列を非難する必要があります-SQLは、句bname内のどのテーブルからのものであるかを認識していません。WHERE

Where bname='$branch'

可能性があります:

Where a.bname='$branch'

または:

Where b.bname='$branch'
于 2012-09-20T09:53:39.853 に答える