Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запрос с неизвестным числом колонок
|
|||
|---|---|---|---|
|
#18+
Есть таблица районов REGION(ID,NAME), таблица CUSTOMERS(ID, DISTRICT_ID, REG_DATE). На этапе выполнения пользователь выбирает год по который нужно вывести распределение количества клиентов в каждом районе по годам регистрации. DISTRICT/Year 2002 2003 2004 1 5 3 5 2 7 3 6 3 9 4 6 Можно запихать районы в качестве колонок, но их много и расписывать лень, к тому же отчет не смотрится. Какой подход вообще используется для решения таких задач? Посоветуйте пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2007, 10:12 |
|
||
|
Запрос с неизвестным числом колонок
|
|||
|---|---|---|---|
|
#18+
МОжет у кого-то есть пример процедуры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2007, 10:17 |
|
||
|
Запрос с неизвестным числом колонок
|
|||
|---|---|---|---|
|
#18+
Т.е. вы хотите получить crosstable? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2007, 14:22 |
|
||
|
Запрос с неизвестным числом колонок
|
|||
|---|---|---|---|
|
#18+
Варианты: 1)Заюзать XML 2)Заюзать временные таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2007, 14:24 |
|
||
|
Запрос с неизвестным числом колонок
|
|||
|---|---|---|---|
|
#18+
gardenman Т.е. вы хотите получить crosstable? Да, кажется, это так называется, если не ошибаюсь. Я решил использовать временные таблицы, причем следующим образом: делать обычный запрос с фиксированным числом колонок по районам, затем делать транспонирование(т.е. перевести колонки в строки, а строки наоборот в колонки). Строк в первичном запросе будет меньше чем 255. Думаю это более-менее универсальное решение, не зависит от задачи. Так нормально или есть лучшие решения? А как использовать XML? У меня v8.2. В этом случае куда смотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2007, 04:02 |
|
||
|
Запрос с неизвестным числом колонок
|
|||
|---|---|---|---|
|
#18+
В этом случае лучше смотреть на v9. ИМХО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2007, 11:18 |
|
||
|
Запрос с неизвестным числом колонок
|
|||
|---|---|---|---|
|
#18+
DB2Adventurerтаблица CUSTOMERS(ID, DISTRICT_ID, REG_DATE). На этапе выполнения пользователь выбирает год по который нужно вывести распределение количества клиентов в каждом районе по годам регистрации. DISTRICT/Year 2002 2003 2004 1 5 3 5 2 7 3 6 3 9 4 6 Я у себя реализовал это, используя процедурную логику, примерно так: 1. Выясняются все различные значения REG_DATE. 2. На основе 1 динамически строится запрос: Код: plaintext 1. 2. 3. 4. 5. То, как они вставляются в динамический запрос, зависит от типа данных поля REG_DATE (т.е. если это строка, надо оборочивать ее в кавычки, если число - не надо и т.д.). В примере предполагается, что это int. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2007, 10:29 |
|
||
|
Запрос с неизвестным числом колонок
|
|||
|---|---|---|---|
|
#18+
СПасибо всем за помощь. 2gardenman за что я узнал, что такое crosstable&pivoting. Тяжело искать не зная, как называется искомое :) 2Mark Barinstein за решение. Сделал так: Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2007, 04:25 |
|
||
|
|

start [/forum/topic.php?fid=43&gotonew=1&tid=1604582]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 402ms |

| 0 / 0 |
