2012-09-20 47 views
0

如何构建我的sql语句有一个问题,希望得到任何帮助,我该如何做对。我试图做到的,是显示所有顾问tbl_adviser和同时也显示了类SECTION_ID老师从tbl_section分配。这是我到目前为止所提出的。来自两个表的SQL提取值

$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'"; 

我在$分公司的想法是,如果他们有用户可能只查看相同的数据相同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> 

编辑:错误spatting出是“在条款是不明确的列‘BNAME’”。

回答

1

ON在我看来是不正确的:

ON a.section_id = b.adviser_id 

也许应该是:

ON a.adviser_id = b.adviser_id 

您还需要disabmiguate的bname列 - SQL不知道哪个表假定来自WHERE条款:

Where bname='$branch' 

可以是:

Where a.bname='$branch' 

或者:在条款具有这种错误列 'BNAME'

Where b.bname='$branch' 
+0

是模糊 – Tony

+0

@Tony错误是指'WHERE'条款 –

+0

@GermannArlington是啊,我试图找到解决方案。 – Tony