Чтобы найти СУММУ каждого продукта в другом магазине/складе, используя php mysql

Я хочу, чтобы поддержка нашла общее количество каждого продукта в 2 разных магазинах, как вы можете видеть в прикрепленных двух таблицах ниже, используя Php.

Чтобы найти СУММУ каждого продукта в другом магазине/складе, используя php mysql

Чтобы найти СУММУ каждого продукта в другом магазине/складе, используя php mysql

этот код, который я пробовал, не работает, но он дает мне единственную общую сумму продукта, как вы можете видеть во второй выходной таблице, но не общую сумму для каждого магазина.

       <table class = "table" id = "manageStockStatus">
                <thead>
                    <tr>

                        <th>Product Name</th>


                        <th>Qty-office</th>
                        <th>Qty-Yard</th>
                        <th>T-Qyt</th>
                        <th>Size/Type</th>

                    </tr>
                <?php

    $sql = "SELECT  SUM(quantity) AS Tq, (SELECT product_name 
 from product where stock.product_id=product_id) as pname FROM `stock` GROUP BY product_id ";
                 $result = $connect->query($sql);

               while($row = $result->fetch_array()) {
               $Productname=$row['pname'];
               $Tqnty=$row['Tq'];
                // $Tqnty=$row['Tq'];
                // $office=$row[];
                // $yard=$row['yard'];

               ?>
                </thead>

    <td><?php echo $Productname;?> </td>
    <td><!-- <?php echo $office;?> --></td>
    <td><!-- <?php echo $yard;?> --></td>
    <td><span class = "badge"><?php echo $Tqnty; ?></span></td>
    <td></td>

    </tr> 

     <?php }?>
    </table>
    <!-- /table -->

</div> <!-- /panel-body -->
</div> <!-- /panel -->      
</div> <!-- /col-md-12 -->
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
86
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте использовать левое JOIN и выполнить group by stock.product_id,store:

SELECT  stock.product_id as id,product_name as pname,store,SUM(quantity) AS Tq
FROM `stock` left join product on stock.product_id=product.product_id
group by stock.product_id,store

Таким образом, в вашем цикле while вы можете иметь:

       while($row = $result->fetch_array()) {
           $Productname=$row['pname'];
           $Tqnty=$row['Tq'];
           $office=$row['store']; 
       ?>

РЕДАКТИРОВАТЬ

Затем вы можете использовать CASE следующим образом:

SELECT  stock.product_id as id,product.product_name as pname,
        sum(case 
                when store=1 then quantity
                else 0
            end) as office,
        sum(case 
                when store=2 then quantity
                else 0
            end) as yard
FROM `stock`  left join product on stock.product_id=product.product_id
group by stock.product_id,product.pname

Таким образом, в вашем цикле while вы можете иметь:

       while($row = $result->fetch_array()) {
           $Productname=$row['pname'];
           $yard=$row['yard']; 
           $office=$row['office']; 
           $Tqnty=$office+$yard;
       ?>

Спасибо @nacho, а как мне повторить количество офиса и количество двора? см. второй скриншот, прикрепленный выше

emma mfinanga 09.04.2019 11:31

приближается идентификатор магазина, а не количество наименования продукта, можем ли мы отразить количество продукта в офисе и на складе, и если количества нет, он может отобразить 0 в отношении названия продукта? @начо

emma mfinanga 09.04.2019 11:39

большая концепция здесь состоит в том, чтобы иметь количество офиса и двора и общее количество (офис+двор) относительно products_id

emma mfinanga 09.04.2019 11:56

Из чего состоит Q Yard?

nacho 09.04.2019 12:37

Магазин = 1 — это офис, а магазин = 2 — это двор.

emma mfinanga 09.04.2019 14:12

Я думаю, вы можете это сделать, но я не использую codeigniter, поэтому я не знаю, как

nacho 22.04.2019 12:16

Другие вопросы по теме