【发布时间】:2014-11-14 16:49:25
【问题描述】:
我遇到了性能问题,我只是想确切地了解 SQL 查询的连接所达到的效果,我已经阅读了一些示例,并认为自己是一个狂热的编码器,但是这个总是让我感到困惑,以至于我只是做了以下事情实现我的目标....
你会从下面看到,首先我从 STAUX000 WHERE WEBSHOW = 'Y' 获取所有 AUXKEY
然后将这些结果放在一个数组中,我用逗号将其内爆,以便在下一个查询中使用! - 很糟糕,我知道,或者是......
我想结束,最后全部来自 STOCK 表 WHERE AUXKEY 在 STAUX000 中设置为“Y”
有意义吗?
$webshow = "SELECT AUXKEY FROM STAUX000 WHERE WEBSHOW = 'Y' ";
$wsres = odbc_exec($connectforwebshow, $webshow);
while( $wsrow = odbc_fetch_array($wsres) ) {
$_SESSION[showontheweb][] = $wsrow[AUXKEY];
}
$showondaweb = $_SESSION[showontheweb];
$imploded_arr = implode("', '000", $showondaweb);
$cfwsq = db_connect();
$wstquery = "SELECT NAME, NUMBER FROM STOCK ";
$wstquery .= "WHERE STOCK.LOCATION = 'LANE' AND UPPER(STOCK.NAME) LIKE UPPER('%') AND NUMBER IN ('000";
$wstquery .= "$imploded_arr";
$wstquery .= "') ";
$wbstres = odbc_exec($cfwsq, $wstquery);
while( $wbstrow = odbc_fetch_array($wbstres) ) {
$NUMBER = $wbstrow[NUMBER];
$_SESSION[allstock][NAME][] = ($wbstrow[NAME]);
$_SESSION[allstock][NUMBER][] = ($wbstrow[NUMBER]);
}
【问题讨论】:
标签: sql loops join while-loop