您好,如果我在如何构建 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/