2015-11-06 35 views
0

我需要知道如何在一个查询中插入多行插入SUM。SUM在一个查询中插入多行

我需要将表中已有的值与发票中的新值相加。

这里是我的查询(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(); 

我需要总结该行是 “existencia” 与 “comprado” 新的数据,如每例如:

如果DB “existencia”有100个项目,并在新发票中购买50行更多的项目“comprado”我怎么总结existencia第一,他们总结结果与“comprado” 值?以节省新的总额在“existencia”

最好的问候!

+0

您发布的查询是否有效? – jason

+0

是的,是我用来保存新发票的实际查询,现在我需要在列表视图中显示每个项目的实际存在 – user3236149

+0

因此,您希望将单个插入到'PRODUCTOS'中以显示由''existencia'增加“comprado”的数量? – jason

回答

1

尝试改变

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

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

如果它们被显示为字符串使用intval功能。