Как экспортировать отчет в php codeigniter, где строки базы данных отображаются как имя столбца в таблице Excel - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь создать еженедельный отчет, в котором я хочу отобразить количество людей для отдельного дня в неделе. Например, я хочу, чтобы отчет за последнюю неделю, где дата была с 17/02/2020 по 21/02/2020.

Unit Name    |17/02/2020   |18/02/2020  |19/02/2020  |20/02/2020  |21/02/2020
------------------------------------------------------------------------------
unit_1       |  21         |  56        | 78         | 09         | 05
unit_2       |  10         |  18        | 23         | 12         | 112
unit_3       |  15         |  65        | 06         | 00         | 74
unit_4       |  53         |  36        | 11         | 02         | 23
unit_5       |  75         |  25        | 22         | 23         | 00
unit_6       |  78         |  24        | 00         | 05         | 18

Как я могу получить отчет в указанном формате.

Я использовал $ this-> dbutil-> csv_from_result для экспорта отчета в виде таблицы Excel. Здесь у меня People_table, где данные вводятся ежедневно Базис. В отчете мне нужно отобразить P_id для отдельного дня недели. Структура таблицы:

auto_id |unit_id |   date      |P_id
-----------------------------------
1       |  1     | 17/02/2020  | 100     
2       |  1     | 17/02/2020  | 101    
3       |  1     | 17/02/2020  | 102 
4       |  3     | 18/02/2020  | 103    
5       |  6     | 18/02/2020  | 104    
6       |  4     | 18/02/2020  | 105
7       |  5     | 19/02/2020  | 106     
8       |  5     | 19/02/2020  | 107    
9       |  2     | 19/02/2020  | 108 
10      |  2     | 19/02/2020  | 109    
11      |  6     | 19/02/2020  | 110     
12      |  4     | 19/02/2020  | 111

1 Ответ

0 голосов
/ 25 февраля 2020

SELECT * FROM (SELECT unit_id, дата FROM таблицы) КАК ptable PIVOT (CONCAT (unit, '_', unit_id) FOR unit_id IN (SELECT GROUP_CONCAT (unit_id) FROM таблица), дата FOR дата IN (SELECT GROUP_CONCAT (дата) ) Из таблицы))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...