HI。希望各位可以指点下
 我现在有 一条SELECT 语句 select mfg_no from mfs_maintain where substr(maintain_code,0,1) not in ('6','5','8');
 这条语句可以SELECT出来5万条数据,我该如何将其放在一个数组中,并且将其用在另外一个SELECT语句中
select * from t1 where mfg_no in (select mfg_no from mfs_maintain where substr(maintain_code,0,1) not in ('6','5','8'))  这样速度太慢了。有没有知道的。 指导下。。在线等

解决方案 »

  1.   

    本帖最后由 xuzuning 于 2011-08-13 13:46:28 编辑
      

  2.   

    function scan_group()
    {
    $ret = array();
    $con = mysql_conn();//连接数据库
    $query = "SELECT * FROM client_group";
    $result = mysql_query($query);

    while($row = mysql_fetch_array($result))
    {
       array_push($ret,$row);
    }
    //mysql_close($con);
    return $ret;

    }把那句SQL语句改为你想要查询的语句,得到的结果即为你要的。如$tree=scan_group();
    for($i=0;$i<count($tree);$i++){
    $temp=$tree[$i]['id']//这个是满足条件的id,根据需要更改$tree[$i]['id'],中的'id',即为你想要
    }
      

  3.   

     您好,我想继续追问一下。
     SELECT count(*) 
    FROM pda_mugn_mobile LEFT JOIN mfs_maintain  USING(mfg_no)
     WHERE SUBSTR(mfs_maintain.maintain_code, 0, 1) NOT IN ('6', '5', '8') and MFG_NO||MUGIOPCD||NO||MUGIYYMM  not in (select MFG_NO||maintain_code||NO||MUGIYYMM from pda_formback_detail);
    红色的字体表示 还需要满足的条件,但是select MFG_NO||maintain_code||NO||MUGIYYMM from pda_formback_detail中也有将近100万条数据。这样还是很慢,有什么提速的方法吗?谢谢了