|
|
|
Улучшить запрос
|
|||
|---|---|---|---|
|
#18+
Есть большая таблица , которая содержит информацию о посещении населения поликлиники. одно посещение=одна запись таблицы Запись содержит поля: ...,ID_Terr,ID_Spec,... где ID_Terr - номер территории (проживания пациента), ID_Spec - номер специалиста (обследовавшего). Необходимо поднять статистику - количество посещений по территориям в разрезе специалистов. Вниманее ВОПРОС :-) Можно ли придумать что-нибудь по-лучше? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Плюс - все работает Минус - громоздкий код, т.к. специалистов не 5 а 50 Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 08:03:51 |
|
||
|
Улучшить запрос
|
|||
|---|---|---|---|
|
#18+
ИМХО, для таких вещей лучше пользоваться приложениями,для этого предназначенными,т.е. средствами,направленными на создание отчетов. Если ничего под рукой нет, самое простое - Аксесс-Pivot Table (перекрестный запрос), или ексель->Сводная таблица ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 10:05:49 |
|
||
|
Улучшить запрос
|
|||
|---|---|---|---|
|
#18+
ИМХО, для таких вещей лучше пользоваться приложениями,для этого предназначенными,т.е. средствами,направленными на создание отчетов. Если ничего под рукой нет, самое простое - Аксесс-Pivot Table (перекрестный запрос), или ексель->Сводная таблица Именно! Для формирования отчетов используется Report Builder Pro (Компонента в Delphi), а для этого необходимо создавать таблицу где бы то нибыло; лучше всего ее формировать на сервере посредством SQL запроса (или я неправ?). Отмечу, что по таблице с количеством записей 500000 предложенный мной запрос выполняется за 13 секунд; Access возится полторы минуты. Вопрос остается открытым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 11:58:37 |
|
||
|
Улучшить запрос
|
|||
|---|---|---|---|
|
#18+
Да, но для билдеров Pivot-отчетов данные даются не в конечном виде, а в виде набора записей, содержимое одного (или нескольких) поля из которых в отчете станет названием столбца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 12:14:10 |
|
||
|
Улучшить запрос
|
|||
|---|---|---|---|
|
#18+
возможно так тоже подойдет? Надо только будет по другому обрабатывать полученный Recordset Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 12:39:31 |
|
||
|
Улучшить запрос
|
|||
|---|---|---|---|
|
#18+
Или так Код: plaintext 1. 2. 3. 4. 5. 6. P.S. Я исходил из того, что ID_Terr у вас типа integer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 13:06:10 |
|
||
|
Улучшить запрос
|
|||
|---|---|---|---|
|
#18+
Есть такая штука - RAC (Replace of Access Crosstab) - делает тоже самое, что и перекрестные запросы в Access только на сервере + намного круче и навороченее. 200 кб TSQL текста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 18:26:26 |
|
||
|
Улучшить запрос
|
|||
|---|---|---|---|
|
#18+
И... где линк ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2002, 18:27:40 |
|
||
|
Улучшить запрос
|
|||
|---|---|---|---|
|
#18+
Всем БОЛЬШОЕ спасибо! Я на SQL-е пишу полгода, поэтому узнал много нового и полезного. PS (for Glory ) Все работает, но вместо 'x-Total-x' пришлось написать численное значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2002, 06:07:49 |
|
||
|
Улучшить запрос
|
|||
|---|---|---|---|
|
#18+
Да, моя ошибка. CASE должен возвращать значения одного типа, поэтому можно так Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2002, 10:10:19 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3450&tid=1821737]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 352ms |

| 0 / 0 |
