dqh1992 2015-11-06 14:36
浏览 94
已采纳

在一个查询中插入多行的SUM

I need to know how can I made a SUM with a multiple rows insert in one query.

I need to sum the value that is already in the table with the new one in the invoice.

Here is my query (MySql):

        $conn->beginTransaction();
        $sql = "INSERT INTO PRODUCTOS
        (cod, nombreProd, proveedor, existencia, comprado, compra, id_user, nombre, ref_compra, f_compra)
         VALUES ";
        $insertQuery = array();
        $insertData = array();
        foreach ($_POST['cod'] as $i => $cod) {
            $insertQuery[] = '(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
            $insertData[] = $_POST['cod'][$i];
            $insertData[] = $_POST['nombreProd'][$i];
            $insertData[] = $_POST['proveedor'][$i];
            $insertData[] = $_POST['existencia'][$i];
            $insertData[] = $_POST['comprado'][$i];
            $insertData[] = $_POST['compra1'][$i];
            $insertData[] = $_POST['id_user'];
            $insertData[] = $_POST['nombre'];
            $insertData[] = $_POST['ref_compra'];
            $insertData[] = $_POST['fecha'];
        }
        if (!empty($insertQuery)) {
            $sql .= implode(', ', $insertQuery);
            $stmt = $conn->prepare($sql);
            $stmt->execute($insertData);
        }
        $conn->commit();

The row I need to sum is "existencia" with the new data in "comprado", like per example:

If in the DB "existencia" have 100 items and in the new invoice is purchase 50 more items in the row "comprado" how can I sum existencia first and them sum the result with the "comprado" value? to save the new total in "existencia"

Best Regards!

展开全部

  • 写回答

1条回答 默认 最新

  • drhozgt6007 2015-11-12 13:57
    关注

    Try changing

    $insertData[] = $_POST['existencia'][$i];
    

    to

    $insertData[] = ($_POST['existencia'][$i] + $_POST['comprado'][$i]);
    

    If they are showing up as strings use intval function.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部