Объединить запросы

Sav2907

Новичок
Помогите обьединить запросы

Код:
$result = $connection->query("select teil, pps, poz from `ZS_v2` where `del` = '0' and `status` != '0' group by teil");
while ($row = mysqli_fetch_assoc($result)) {

$count = $connection->query("SELECT a.pps, a.teil, a.poz, a.id, SUM(IF(b.status = 1, b.kilk, 0-b.kilk)) AS quantity FROM `Preproduction`.`ZS_v2` AS a LEFT JOIN `Preproduction`.`ZS_v2` AS b ON b.del != '1' and b.perer ='0' AND b.pps = a.pps WHERE a.del = 0 AND a.status != 0 and a.teil = '$row[teil]' GROUP BY a.pps HAVING quantity > 0");
$result_count = mysqli_num_rows($count);

$count2 = $connection->query("SELECT a.pps, a.teil, a.poz, a.id, SUM(IF(b.status = 2, b.kilk, 0-b.kilk)) AS quantity FROM `Preproduction`.`ZS_v2` AS a LEFT JOIN `Preproduction`.`ZS_v2` AS b ON b.del != '1' and b.perer ='1' AND b.pps = a.pps WHERE a.del = 0 AND a.status != 0 and a.teil = '$row[teil]' GROUP BY a.pps HAVING quantity > 0");
$result_count2 = mysqli_num_rows($count2);

$result_2 = $connection->query("SELECT SUM(IF(status = 2, kilk, 0-kilk)) AS quantity, SUM(if(status = 2, 1, 0)) - sum(if(status = 0, 1, 0)) as count FROM `Preproduction`.`ZS_v2` WHERE del != '1' and perer ='1' AND teil = '$row[teil]'");   
$row_2 = mysqli_fetch_assoc($result_2);

$result_3 = $connection->query("SELECT SUM(IF(status = 1, kilk, 0-kilk)) AS quantity, SUM(if(status = 1, 1, 0)) - sum(if(status = 0, 1, 0)) as count, part FROM `Preproduction`.`ZS_v2` WHERE del != '1' and perer ='0' AND teil = '$row[teil]'");   
$row_3 = mysqli_fetch_assoc($result_3);

}
 

fixxxer

К.О.
Партнер клуба
PHP:
$count = $connection->query("SELECT a.pps, a.teil, a.poz, a.id, SUM(IF(b.status = 1, b.kilk, 0-b.kilk)) AS quantity FROM `Preproduction`.`ZS_v2` AS a LEFT JOIN `Preproduction`.`ZS_v2` AS b ON b.del != '1' and b.perer ='0' AND b.pps = a.pps WHERE a.del = 0 AND a.status != 0 and a.teil = '$row[teil]' GROUP BY a.pps HAVING quantity > 0"); 
$result_count = mysqli_num_rows($count);
А если тебя попросить посчитать, сколько на складе ящиков с кирпичами, ты эти ящики будешь выносить со склада, считать, сколько носил, и потом тащить обратно?
 
Последнее редактирование:

AnrDaemon

Продвинутый новичок
Просто написать код за тебя - это работа.
И, как любая работа, она должна быть оплачена.
 

fixxxer

К.О.
Партнер клуба
А просто помочь трудно?
Разбираться в нагромождении SQL-я, части которого явно бессмысленны в данном контексте и похожи на копипасту без понимания, тем более без описания назначения таблиц, полей и требуемого результата - трудно. Надо быть телепатом.
Сведи все к аналогичной минимальной задаче без лишнего мусора, и опиши словами, что надо получить.
 
Сверху