Пример
Код: Выделить всё
+----+-----------+---------+-------
| product | date | count |
+-------------+------------+-----------+
| платье | 04-01-2024 | 186574 |
| штаны | 04-01-2024 | 20564 |
| кепка | 07-01-2024 | 104443 |
| штаны | 06-01-2024 | 10574 |
| платье | 06-01-2024 | 223001 |
+-------------+------------+-----------+
теперь я создаю 2 выбора, а затем просматриваю массив, чтобы получить его. но у меня ошибка по памяти. Как я могу создать 1 запрос в MySQL?
мой запрос
Код: Выделить всё
$get_ex = $connection->prepare("SELECT * FROM product WHERE date = :date");
$get_ex->execute(array(':date' => $first_date));
$ex_list_2 = $get_ex->fetchAll(PDO::FETCH_ASSOC);
$get_ex_3 = $connection->prepare("SELECT * FROM product WHERE date = :date");
$get_ex_3->execute(array(':date' => $second_date));
$ex_list_3 = $get_ex_3->fetchAll(PDO::FETCH_ASSOC);
$result = Array();
$i=0;
foreach($ex_list_2 as $key => $value)
{
foreach($ex_list_3 as $key2 => $value2)
{
if($value['product_name'] == $value2['product_name'])
{
$result[$i]['product_name'] = $value['product_name'];
$result[$i]['count_1'] = $value['count'];
$result[$i]['count_2'] = $value2['count'];
$result[$i]['res'] = $value['count']- $value2['count'];
$i++;
}
}
}
Неустранимая ошибка: разрешенный размер памяти 1073741824 байт исчерпан
memory_limit = 2048 МБ< /p>
для результата мне нужен массив со следующей информацией
Код: Выделить всё
+-------------+-------------+-------------+-----------+
| product | 04-01-2024 | 06-01-2024 | diff |
+-------------+-------------+-------------+-----------+
| платье | 186574 | 223001 | 36427 |
| штаны | 20564 | 10574 | 99000 |
+-------------+-------------+-------------+-----------+
Подробнее здесь: https://stackoverflow.com/questions/777 ... -with-1317