现在有两个表表1
user_id agency_id表2
user_id  user_admin我想查询
表2中user_admin=表1中user_id ,并且表2 中user_id =4 在a表中的agency_id值
查询语句如何写请高手帮忙一下。

解决方案 »

  1.   

    这算是SQL的基础了,写法有很多SELECT `1`.`agency_id` FROM `1`, `2` 
    WHERE `2`.`user_admin` = `1`.`user_id` AND `2`.`user_id` = 4;
    SELECT `1`.`agency_id` FROM `1` 
    LEFT JOIN `2` ON `2`.`user_admin` = `1`.`user_id` WHERE `2`.`user_id` = 4;
      

  2.   


    非常感谢楼上的……。我这样写,但不懂哪里错,能运行,但达不到结果。请帮我看一下,问题出在哪里。
    表USERS
    USER_ID USER_ADMIN表ADMIN_USER
    USER_ID AGENCY_IDflow.php 中这样调用'agency_id'       => get_agency_by_bsc()lib_order.php 我这么写,/**
    * 查询订单属于哪个办事处管辖**/
    function get_agency_by_bsc()
    {
        
        $sql = "SELECT user_admin FROM ".$GLOBALS['ecs']->table('users')." WHERE user_id = '$_SESSION[user_id]'";
        $res = $GLOBALS['db']->query($sql);
             while ($row = $GLOBALS['db']->fetchRow($res))
             {
             $users= $row['user_admin'];
             }
        
            $sql = "SELECT agency_id FROM ".$GLOBALS['ecs']->table('admin_user')." WHERE user_id = '$users' ";
            $res = $GLOBALS['db']->query($sql);
             while ($row = $GLOBALS['db']->fetchRow($res))
             {
             $agency_id = $row['agency_id'];
             }} 
      

  3.   

    你的思路我没看明白,只好建议你先把SQL语句打印出来,直接放到数据库里执行看看,更好的办法是把帖子移动到MYSQL/postgresql版块,那儿这方面的牛人多。
    另外,有几点php方面的我能看懂点,
    'agency_id' => get_agency_by_bsc() 这个函数并没有设置返回值。
    while($row = $GLOBALS['db']->fetchRow($res)){ $users= $row['user_admin']; } 循环取值没有必要,而且两个SQL语句完全可以拼接在一起