Очень сложная «выходная» таблица в Mysqli. Смешивание столбцов и строк вместе - PullRequest
0 голосов
/ 19 июня 2019

У меня в базе данных MySQLI «Таблица», которая выглядит так:

|ID |NumberOfChicken| CleanEggs| BrokenEggs| PickEggDate| StartEggYield| Farm|
|100|   1500        |    455   |    38     | 2019-05-16 | 2019-03-27   | AAA |
|101|   1498        |    429   |    18     | 2019-05-17 | 2019-03-27   | AAA |
|102|   1850        |    750   |    55     | 2019-05-17 | 2019-02-15   | BBB |
|103|   1498        |    448   |    28     | 2019-05-18 | 2019-03-27   | AAA |
|104|   1850        |    776   |    83     | 2019-05-18 | 2019-02-15   | BBB |
|105|   1495        |    465   |    25     | 2019-05-19 | 2019-03-27   | AAA |
|106|   1846        |    754   |    65     | 2019-05-19 | 2019-02-15   | BBB |
|107|   1250        |    554   |    21     | 2019-05-19 | 2019-04-20   | CCC |
|108|   1492        |    477   |    22     | 2019-05-20 | 2019-03-27   | AAA |
|109|   1844        |    784   |    45     | 2019-05-20 | 2019-02-15   | BBB |
|110|   1248        |    535   |    19     | 2019-05-20 | 2019-04-20   | CCC |

Я пытаюсь получить действительно сложную таблицу, которая будет выглядеть так:

|                  |    AAA   |    BBB   |   CCC   |
|ActualChickensNo  |   1492   |   1844   |  1248   |
|CleanEggs         |   2274   |   3064   |  1089   |
|BrokenEggs        |    131   |    248   |    40   | 
|AgeOfEggs         |6,5,4,3,2 |  5,4,3,2 |   3,2   |
|AgeOfChikens      |     9    |     15   |     6   |

ActualChickensNo - это последнее фактическое количество кур на каждой ферме

CleanEggs, BrokenEggs - СУММА на каждой ферме

AgeOfEggs будет отображать количество дней для каждой PickEggDate до фактической даты. Это значит, что я получу более одной цифры. Это можно сделать?

AgeOfChicken будет отображать количество недель для каждого StartEggYield до фактической даты.

В качестве «фактической» даты я использовал 2019-05-22

Мой вопрос: возможно ли сделать запрос, чтобы получить такой результат? Я пробовал Pivot, но думаю, что это невозможно решить с помощью Pivot. Может кто-нибудь помочь?

THX

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