来自查询结果表A和表B的PHP MYSQL循环(插入表C)

来自查询结果表A和表B的PHP MYSQL循环(插入表C),php,mysql,sql,insert,while-loop,Php,Mysql,Sql,Insert,While Loop,我有3个表,分别是table_a4000行、table_b35000行和table_c来存储结果, 完成…需要670秒,还有其他方法吗?我也尝试左连接,但右表给出的结果不止一个,而左结果变成不止一个,完成…需要大约300秒 自动提交=0 $c_mgp = "select * from table_a where ......."; $c_mgp_r = mysqli_query($con_a,$c_mgp) or die (mysqli_error($con_a)); $multi_sq = '

我有3个表,分别是table_a4000行、table_b35000行和table_c来存储结果, 完成…需要670秒,还有其他方法吗?我也尝试左连接,但右表给出的结果不止一个,而左结果变成不止一个,完成…需要大约300秒

自动提交=0

$c_mgp = "select * from table_a where .......";
$c_mgp_r = mysqli_query($con_a,$c_mgp) or die (mysqli_error($con_a));
$multi_sq = '';
    $r = 0;
while($c_mgp_f = mysqli_fetch_array($c_mgp_r)) {
    $r++;
    $mgpstat = trim($c_mgp_f['STATUS']);
    $mgpval= trim($c_mgp_f['VAL']);
            $sand = trim(($c_mgp_f['SAND']);

$multi_sq .= "insert into table_c (NAME,VAL,VAL_RES) values('$mgpstat','$mgpval',
                  (select SUM(VAL_RES) from table_b where DATE = '$date_a' and GRUP = '$grup' and ACNO= '$sand'));" //this part is the most important thing, $sand always different (and always more than one row in result) each loop
if($r == 500){
    mysqli_multi_query...........;
    $r=0;
    $multi_sq='';
    }

  }
承诺


非常感谢你的帮助

你考虑过使用吗?这不是他在$multi_sp=?难道不应该有一个由…组成的小组吗。。。在“选择总和…”中?回复的thx和Felix Gagnon的结果为selectsum。。是整数值货币,是否有其他方法->…插入表c cola,colb,,VAL_RES vala,valb,选择sumVAL_RES,GRUP from…,其中…。按GRUP分组;