你的描述我觉得怪怪的,不然就是你的表结构设计有问题。看不出三个表的对应关系。
select a.*,b.*,c.* from a left join b on a.a1=b.b1 left join c on a.a1=c.c1 where 1<2
你跑看看。

解决方案 »

  1.   

    用inner joinselect * from a inner join b on a.a1=b.a1 inner join c on b.b1=c.c1
      

  2.   

    就放一个表里面啊
    然后循环填充下拉
    给你一个函数,供参考
    Function CreateProCombox($result,$show)
    {
    //取得需要显示的菜单的项目数
    $numrows=mysql_num_rows($result); for($rows=0;$rows<$numrows;$rows++)
    {
    //将当前菜单项目的内容导入数组
    $menu=mysql_fetch_array($result); //提取菜单项目的子菜单记录集
    $dbm = new Database_Manage();
    $sql="select * from pro_class where class_parentid=$menu[class_id]";
    $result_sub = $dbm->DataQuery($sql); //如果该菜单项目有子菜单,则添加JavaScript onClick语句
    if($dbm->ResultNum($result_sub)>0 )
    {
    echo "<option value=\"".$menu[class_id]."\"";
    if($menu[class_id]==$show) echo "selected";
    echo ">";
    for($i=0;$i<$GLOBALS["layer"] ;$i++)
    {
    echo " ";
    }
    echo "+-".$menu[class_name]."</option>"; $GLOBALS["layer"]++;
    //递归调用ShowTreeMenu()函数,生成子菜单
    CreateProCombox($result_sub,$show);
    //子菜单处理完成,返回到递归的上一层,将级数减1
    $GLOBALS["layer"]--;
    }
    else
    {
    echo "<option value=\"".$menu[class_id]."\"";
    //if($menu[class_id]==$show) echo "selected";
    //echo " >  |-".$GLOBALS["layer"].$menu[class_name]."</option>";
    echo ">";
    for($i=0;$i<$GLOBALS["layer"];$i++)
    {
    echo " ";
    }
    echo "|-".$menu[class_name]."</option>";
    //$GLOBALS["layer"]--;
    }
    }
    }