|
|
|
Как перевернуть таблицу ?
|
|||
|---|---|---|---|
|
#18+
Поиском не нашел. Подскажите, плиз, как мне из такой таблицы date suma categoria10.10.2013 53000 Zarplata 110.10.2013 72000 Zarplata 212.10.2013 28000 Avans 113.10.2013 65000 Avans 210.10.2013 30000 Bonus 114.10.2013 53000 Zarplata 114.10.2013 72000 Zarplata 216.10.2013 28000 Avans 117.10.2013 65000 Avans 218.10.2013 53000 Zarplata 118.10.2013 72000 Zarplata 2 сделать вот такую date/cat 10.10.2013 11.10.2013 12.10.2013 13.10.2013 14.10.2013 15.10.2013 16.10.2013 17.10.2013 18.10.2013 19.10.2013Zarplata 1 53000 - - - 53000 - - - 53000 - Zarplata 2 72000 - - - 72000 - - - 73000 - Bonus 1 30000 - - - - - - - - - Avans 1 - - 28000 - - - 28000 - - - Avans 2 - - - 65000 - - - 65000 - - Total 155000 0 28000 65000 125000 0 28000 65000 126000 0 Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 12:35:41 |
|
||
|
Как перевернуть таблицу ?
|
|||
|---|---|---|---|
|
#18+
case + group by ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 12:43:24 |
|
||
|
Как перевернуть таблицу ?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, А пример можно ? Не могу что-то пока представить себе .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 12:52:56 |
|
||
|
Как перевернуть таблицу ?
|
|||
|---|---|---|---|
|
#18+
dp_cmb, Монитор лучше поверни на 90 градусов -- и всё делов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 13:36:39 |
|
||
|
Как перевернуть таблицу ?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, Спасибо, пример хороший, немного помог, но появилось еще больше вопросов :) Рассматриваю еще вариант другого преобразования исходной таблицы вот в такую date Zarplata1 Avans1 Bonus1 Zarplata2 Avans2 Bonus2 Total10.10.2013 53000 0 0 72000 0 30000 15500012.10.2013 0 28000 0 0 0 0 2800013.10.2013 0 0 0 0 65000 0 6500014.10.2013 53000 0 0 72000 0 0 12500016.10.2013 0 28000 0 0 0 0 2800017.10.2013 0 0 0 0 65000 0 6500018.10.2013 53000 0 0 72000 0 0 125000 но получается вот так только date Zarplata1 Avans1 Bonus1 Zarplata2 Avans2 Bonus210.10.2013 53000 0 0 0 0 010.10.2013 0 0 0 72000 0 012.10.2013 0 28000 0 0 0 013.10.2013 0 0 0 0 65000 025.10.2013 0 0 0 0 0 3000014.10.2013 53000 0 0 0 0 014.10.2013 0 0 0 72000 0 016.10.2013 0 28000 0 0 0 017.10.2013 0 0 0 0 65000 018.10.2013 53000 0 0 0 0 018.10.2013 0 0 0 72000 0 0 и Total не понял как прикрутить ... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Подскажите, плиз .. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 14:29:38 |
|
||
|
Как перевернуть таблицу ?
|
|||
|---|---|---|---|
|
#18+
dp_cmb, case засунуть внутрь агрегутной функции SUM, для тотала добавить строку безусловного суммирования. наложить нужный GROUP BY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 14:40:05 |
|
||
|
Как перевернуть таблицу ?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эхdp_cmb, case засунуть внутрь агрегутной функции SUM, для тотала добавить строку безусловного суммирования. наложить нужный GROUP BYНу то есть как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 14:52:13 |
|
||
|
Как перевернуть таблицу ?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, Спасибо большое, второй вариант работает на отлично, а вот в первом варианте как прикрутить Total нижней строкой с сумой столбца ? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 15:10:14 |
|
||
|
Как перевернуть таблицу ?
|
|||
|---|---|---|---|
|
#18+
насколько помню, в MySQL нет расширенных агрегатов ROLLUP, CUBE и GROUPING SETS. Остается старый добрый UNION ALL и двойное выполнение запроса: в верхней части UNION ALL формируем агрегацию с разбивкой по нужным группам, в нижней - просто суммируем все в одну кучу... Схематично как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 15:29:57 |
|
||
|
Как перевернуть таблицу ?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, Спасибо за ответы и советы, все получилось как и хотел. Теперь осталось выбрать вариант :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 16:02:45 |
|
||
|
Как перевернуть таблицу ?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эхнасколько помню, в MySQL нет расширенных агрегатов ROLLUP, CUBE и GROUPING SETS. Остается старый добрый UNION ALL и двойное выполнение запроса: в верхней части UNION ALL формируем агрегацию с разбивкой по нужным группам, в нижней - просто суммируем все в одну кучу... Схематично как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ROLLUP есть и вполне работает (по крайней мере у нас на 5.5): http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 19:11:39 |
|
||
|
Как перевернуть таблицу ?
|
|||
|---|---|---|---|
|
#18+
javajdbc, ОК, буду иметь ввиду. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2013, 19:59:30 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38436866&tid=1835851]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 288ms |
| total: | 396ms |

| 0 / 0 |
