Сводка данных из 2-х таблиц UNION, почему то данные из второй таблицы объединяет, а не выводит по отдельности в зависимости от номера процедуры

Объединил 2 таблицы

SELECT id, 'Процедура', status, product, base, cost_product, cost, points, date, card_id 
FROM action 
WHERE card_id ='$search' 
UNION 
SELECT sale_id, 'Продажа', NULL, sale_id, NULL, name, SUM(sum), points, date, card_id 
FROM sale 
WHERE card_id ='$search' 

Вывожу данные из них

    <div class="row">
        <div class="col-md-12">
            <div class="card">
                <div class="card-header"><h3>История клиента</h3></div>
                <div class="card-body">
                    <table class="table">
                        <tr><th>Исполнитель</th><th>Действие</th><th>Статус</th><th>Процедура</th><th>Компоненты/Комментарии/Товар</th><th>Общая стоимость</th><th>Баллы</th><th>Время окончания</th></tr>
                        <?
                        while($search = mysqli_fetch_assoc($q)) //для обработки неск. записей //Уменьшить размер шрифта??
                        {
    //                                                echo "<pre>";
    //var_dump($search);
    //    echo "</pre>";
                            $sale_id = $search['product'];
                            $card_id = $search['card_id'];
                            $action_id = $search['id'];
                            $q_items = mysqli_query($link, "SELECT * FROM action_items WHERE action_id = '$action_id'");


                            ?>
                            <tr>
                                <td>Ускова Карина</td>
                                <td><?=$search['Процедура']?></td>
                                <td><a href="/bootstrap/sale.php?order_id=<?=$search['product']?>"><?=$search['product']?><a/><a><?=$search['status']?><a/></td>
                                <td><?
                                        while ($row_action = mysqli_fetch_assoc($q_items))
                                        {
                                            $checkbox_id = $row_action['checkbox_id'];
                                            $q_act = mysqli_query($link, "SELECT * FROM checkbox_action WHERE checkbox_id = '$checkbox_id'");
                                            while ($row_name = mysqli_fetch_assoc($q_act))
                                            {
                                                echo "<p>".$row_name['name_action']."</p>";
                                            }
                                        }
                                    ?></td>
                                <td><a><?=$search['base']?><a/>
                                        <a>    <?if (!empty($search['cost_product']))
                                            {
                                                $q_sale = mysqli_query($link, "SELECT * FROM sale WHERE sale_id ='$sale_id' ");
                                                while ($row_action = mysqli_fetch_assoc($q_sale))
                                                    echo "<p>".$row_action['name'].' ('.$row_action['code'].'), '.$row_action['quantity'].' шт по '.$row_action['cost'].' руб, итого '.$row_action['sum'].' руб. '."</p>";
                                            }

                                            ?><a/>
                                </td>
                                <td><?=$search['cost']?></td>
                                <td><?=$search['points']?></td>
                                <td><?=$search['date']?></td>
                            </tr>
                        <?}
                        ?>
                    </table>
                </div>
            </div>
        </div>
    </div>

Не могу понять почему из таблицы Sale, в которой есть 2 продажи с разными sale_id и с одинаковыми card_id (ведь карта одного клиента), информация о продажах объединилась в одну строку. Но из таблицы action все выводится хорошо, и каждая процедура выводится отдельно. Подскажите где ошибся.


Ответы (0 шт):