Задать вопрос
  • Как составить SQL запрос для отчета с разным количеством строк по категории?

    @AlexeyL2552 Автор вопроса
    Михаил Ливач, да, я чуть позже увидел ошибку в своей логике.
    Реализовал похожую логику (чтобы был одинаковый item_id) - все получилось, "лесенки" нет.
    Обыграл как номер строки в отчете, т.к. мне она пригодится позже.
    Поле id так и оставил, т.к. оно тоже нужно для дальнейшей обработки.

    В любом случае спасибо за подробное объяснение!
    Написано
  • Как составить SQL запрос для отчета с разным количеством строк по категории?

    @AlexeyL2552 Автор вопроса
    Да, исходную таблицу можно трансформировать.
    Кроме того, в исходную таблицу уже добавил поле id как автоинкрементное.

    По результатам запроса у меня получилось следующее:
    6649ff454eb91023299180.png

    Насколько я понимаю, чтобы привести данную результирующую таблицу к виду, который я указывал как желательный, нужно либо уже при помощи кода (PHP) привести в соответствие, либо в SQL запросе использовать переменные для имитации номеров строк и затем объединять по номерам строк.

    Кроме того, указанные в значения в столбце item сильно упрощенный пример - там может быть любое значение с regex вида: /[0-9A-Za-z_-]+/.
    Поэтому ваш ответ наиболее близко подходит к тому результату, который требуется получить.
    Написано
  • Как составить SQL запрос для отчета с разным количеством строк по категории?

    @AlexeyL2552 Автор вопроса
    Подход неплохой.
    Что-то похожее уже пробовал.

    Однако если строк в базе достаточно много (например, несколько тысяч), то формирование такого отчета начинает заметно тормозить - у меня примерно полминуты (а то и больше) уходило на формирование.

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

    Похоже на то, что нужно скомпонованные данные по каждому подразделению сохранять в какую-либо таблицу СУБД и уже оттуда делать выборку при запросе отчета.
    Написано