![]() |
|
Модераторы: Akina |
![]()
|
|
| kapbepucm |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Имеется таблица:
Здесь приведена таблица активности какого-то процесса. Надо высчитать общее время активности (IsActive) за 1 сессию (BeginTime). Но, если, как в 9 строке 1 True "обрамлён" False, то это не активность. Короче, запрос должен выглядеть так:
Видимо как-то надо интервалы видеть... Активный временной интервал должен иметь минимум 2 True. Это сообщение отредактировал(а) kapbepucm - 13.7.2007, 12:10 -------------------- (С) kapbepucm |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Сгруппируй по BeginTime.
Свяжи таблицу с собой (Full Join), добавив PreviousActivity и NextActivity. Отбрось те, у которых IsActive=False либо PreviousActivity=NextActivity=False. Просчитай по каждой группе Count. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Akina, спасибо, всё понятно кроме того, как сделать Previous и Next. Как увидеть соседние строки?
-------------------- (С) kapbepucm |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Сперва связываешь таблицу саму с собой по BeginTime1=BeginTime2 и строишь поле CurrentTime2-CurrentTime1, отбирая те, у кого это поле больше 0. Получил запрос 1.
Затем на его основе выбираешь только те строки, у которых эта разница минимальна. Получил запрос 2. Связав запрос 2 с начальной таблицей по всем полям исходной, получишь поле Previous. Аналогично получишь поле Next. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| kapbepucm |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Хорошо, сдесь понятно. Похожий вопрос: есть таблица
Надо увидеть соседние строки (для Ext). Ответ должен быть таким:
Это сообщение отредактировал(а) kapbepucm - 16.7.2007, 13:05 -------------------- (С) kapbepucm |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
В реляционной БД нет позиционного положения записи до тех пор, пока не задана сортировка. А какая сортировка дает тебе именно такой порядок записей в исходной таблице? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Есть идентиф. номер строки. F1 уникальный, но надо расставлять именно так (в хронологическом порядке заполнения таблицы).
Это сообщение отредактировал(а) kapbepucm - 16.7.2007, 13:16 -------------------- (С) kapbepucm |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Вот его и используй при связывании таблицы с собой. Принцип - то же, что описан выше -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
А если сортировка происходит по текстовому столбцу, там что отнимать? Например, вместо ID строки у меня PosA, PosB, PosC, PosD, PosE и т.д. Надо каким-нибудь образом превращать в числа? А если сортировка по 2 и более столбцам (с текстом)?
Это сообщение отредактировал(а) kapbepucm - 16.7.2007, 13:30 -------------------- (С) kapbepucm |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Значит, придется создать вьюху, а в ней синтетический столбец порядкового номера... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Спасибо.
-------------------- (С) kapbepucm |
|||
|
||||
| kapbepucm |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Я, наверное, не тем путём иду... Нихрена не выходит... Короче, начну сначала. Есть таблица:
Отсортировано по DocDate и DocID
Надо добавить столбец LineID (пронумеровать). DocID это текст. LineID- LongInteger. DocDate- Date.
Как? Это сообщение отредактировал(а) kapbepucm - 19.7.2007, 09:35 -------------------- (С) kapbepucm |
||||||
|
|||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Ну, типа:
Или я не так понял? -------------------- (С) kapbepucm |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Таблица tab, поля fld1 и fld2, строим номер при сортировке по полю fld2:
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |