내 스크립트는 요구 사항을 충족 시키지만이 이유 때문에 수천 개의 쿼리가 실행되므로 50-65 초가 걸립니다. 나는 대안을 찾고 있는데,보다 우아하고 빠른 해결책이다.php MySQL이 문자열간에 차이가 있음
SELECT GROUP_CONCAT(DISTINCT BatchNo SEPARATOR ', ') AS picklists, web_company_name
FROM PickBatch
LEFT JOIN customer_master ON customer_master.VC_CUSTOMER_CODE = PickBatch.Customer
GROUP BY Customer
이것은 내가 3443 4334을 비교 다른 열 그래서 예를 들면
while($row=mysql_fetch_array($res))
{
$picklists = explode(', ', $row['picklists']);
$pickString = '';
foreach($picklists as $batch)
{
//invoiced
$sql2 = "SELECT invoice_no FROM invoice_web_order WHERE FIND_IN_SET('$batch', frombatch) LIMIT 1";
$res2 = mysql_query($sql2) or die(mysql_error());
if (mysql_num_rows($res2) > 0)
{
continue;
}
$pickString .= "$batch, ";
}
echo $pickString;
}
하나에 의해 그것을 하나를 비교해야, 4334, 3443, 3341처럼 그 후 4543
을 열 선택 목록을 반환 , 3341, 4543 (예 : 3892, 4890, 3341, 2389, frombatch)은 3343을 제외합니다.
같은 방법으로 다른 방법이 있습니까? 그래서 4334, 3443, 4543 만 반환됩니까?
"3343을 제외 할 것입니다." 3341을 제외 할 것입니까? –