Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso fazer uma subtração entre produtos comprados e retirados. Tenho abaixo o meu código, um select que soma os comprandos e outro os retirados, preciso retornar um valor em JSON.
$loteproduto = mysql_real_escape_string( $_REQUEST['loteproduto'] ); /*$loteproduto =6635544;*/
$idproduto = mysql_real_escape_string( $_REQUEST['idproduto'] ); /*$idproduto = 9;*/
$quantidades = array();
/*Lote*/
$sqllote = mysql_query("SELECT loteproduto FROM entradas WHERE identrada = '$loteproduto';");
while($resultlote = mysql_fetch_assoc($sqllote))
{
$loteproduto1 = $resultlote['loteproduto'];
}
/*SQL Compradas*/
$sql = "SELECT SUM(quantidadecomprada) AS TOTAL FROM entradas WHERE loteproduto='$loteproduto1' AND idproduto = '$idproduto'";
$res = mysql_query( $sql );
while ( $row = mysql_fetch_assoc( $res ) ) {
$quantidades[] = array(
'quant' => $row['TOTAL'],
);
}
/*SQL Retiradas*/
$sqlretiradas = "SELECT SUM(quantidaderetirada) AS TOTALRETIRADAS FROM retiradas WHERE loteproduto='$loteproduto1' AND idproduto = '$idproduto'";
$resretiradas = mysql_query( $sqlretiradas );
while ( $rowretiradas = mysql_fetch_assoc( $resretiradas ) ) {
$quantidadesretiradas[] = array(
'quantretiradas' => $rowretiradas['TOTALRETIRADAS'],
);
}
echo( json_encode( $quantidades ) );Chegamos nessa query, que mostra a quantidade comprada certo, porém mostra a quantidade retirada errado:
SELECT SUM(quantidadecomprada) AS TOTAL, SUM(quantidaderetirada) AS TOTALRETIRADAS
FROM entradas
INNER JOIN retiradas
ON entradas.idproduto = retiradas.idproduto
AND entradas.loteproduto = retiradas.loteproduto
WHERE retiradas.loteproduto=6635544 AND retiradas.idproduto = 9
AND entradas.loteproduto=6635544 AND entradas.idproduto = 9
algo assim com JOIN:
verifique a query