Генерация столбцов на основе результатов запроса - PullRequest
0 голосов
/ 06 июля 2011

У меня есть четыре точки, из которых я получаю данные, которые выглядят так:

tracked_work_by_users_by_operation_pivot:
+-------------------+---------------+---------------+-----------------------+---------------+
|  DATE(start_time) | userid        | operation_id  | Time estimated        | Time Elapsed  |
+-------------------+---------------+---------------+-----------------------+---------------+
| 1/2/2011-1/8/2011 | jsmith        |             11|                     40|             40|
| 1/2/2011-1/8/2011 | jsmith        |             10|                     20|             24|
+-------------------+---------------+---------------+-----------------------+---------------+

faults_by_user_pivot:
+-------------------+---------------+---------------+-----------------------+----------+
| date(date_entered)| userid        | operation_id  | Major                 | Minor    |
+-------------------+---------------+---------------+-----------------------+----------+
| 1/2/2011-1/8/2011 | jsmith        |             11|                     2 |         1|
+-------------------+---------------+---------------+-----------------------+----------+

paid_hours_by_user_pivot:
+-------------------+---------------+---------+
|date_range         | userid        | Total   |
+-------------------+---------------+---------+
| 1/2/2011-1/8/2011 | jsmith        | 40      |
+-------------------+---------------+---------+


tracked_work_by_users_pivot:
+-------------------+---------------+---------+
|DATE(start_time)   | userid        | Total   |
+-------------------+---------------+---------+
| 1/2/2011-1/8/2011 | jsmith        | 24      |
|                   |               |         |
+-------------------+---------------+---------+

Что мне нужно сделать, это составить отчет для каждого пользователя для каждой операции. Из того, что я вижу, лучший способ сделать это - иметь формат, подобный следующему:

                     +--------------+--------------+                                              +--------------+--------------+
                     |    jsmith    |  packaging   |                                              |  jsmith      |  machining   |
+--------------------+--------------+--------------+----------------+--------------+--------------+--------------+--------------+----------------+--------------+--------------+
|    DATE            | time_elapsed | hours_worked | estimated_work | minor_faults | major_faults | time_elapsed | hours_worked | estimated_work | minor_faults | major_faults |
+--------------------+--------------+--------------+----------------+--------------+--------------+--------------+--------------+----------------+--------------+--------------+
| 1/2/2011-1/8/2011  |           24 |           40 |             36 |            1 |            2 |           24 |           40 |             36 |            1 |            2 |              
+--------------------+--------------+--------------+----------------+--------------+--------------+--------------+--------------+----------------+--------------+--------------+

Так что у jsmith будут отдельные записи для обработки и упаковки, потому что мы хотим иметь возможность ранжировать его среди всех операторов обработки и всех операторов упаковки. Как мне лучше всего это сделать, чтобы мне не приходилось добавлять еще 12 записей (поскольку существует двенадцать операций) каждый раз, когда я добавляю нового пользователя?

1 Ответ

0 голосов
/ 07 декабря 2011

Кажется, что лучший способ сделать это - просто написать приложение, а не делать из него сильное вооружение.

...