|
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 52
|
||||||
Запрос, меняющий поведение, в зависимости от условий20.07.2015, 17:54. Показов 5798. Ответов 6
Метки нет (Все метки)
Здравствуйте уважаемые знатоки.
Возникла задача, но не совсем пока понимаю с какой стороны к ней подойти. Есть БД, которая содержит в себе данные за последние сутки. В этой БД есть информация по совершенной операции и клиенте, который ее проводил.(т.е. один клиент может проводить сколько угодно операций/транзакций) Как следует подойти к процессу сбора статистики, если есть несколько условий, которые надо выполнить, а именно: 1. сканируется таблица clients, где присутствуют 7 значений имя клиента ID клиента Порог срабатывания для рабочего времени (8:00-20:00) Порог срабатывания для будних дней(вечером) Порог срабатывания для выходных дней Порог срабатывания для всего остального времени статус мониторинга(True - мониторим, False - не мониторим) 2. идет обращение к таблице out_trn в которой происходит поиск транзакций к примеру за час, поиск осуществляется по клиентам(их ID) из п.1, у кого статус мониторинга = TRUE. 3. По выбранным клиентам(за кем осуществляется мониторинг), собранная статистика собирается в таблицу monitor_table Если по клиенту порог срабатывания 3 или 7 операций, а у клиента их нет(т.е. 0 или же ниже указанного порога), надо создать запись в monitor_table столбец 1 | столбец 2 КлиентААА | транзакций нет КлиентБББ | 6 транзакций В случае с поиском, проблем нет, но вот поиск в зависимости от условий, доставляет проблем, пока даже не представляю как реализовать(думаю в сторону IF) Написал пробный вариант, чтобы посмотреть на результат отбора
Нулевой результат нашел, без Having отбирает все mbox_ID и у кого нулевые результаты и не нулевые, корректно отображает Можно ли каким-нибудь образом сделать разный порог срабатывания, скажем в будние дни от 10 транзакций, а в выходные чтобы порог был нулевым? Не делал еще разбиения логики выполнения в зависимости от текущих условий. И как бы использовать значения ID из таблицы с клиентами, для которых значение мониторинга равно TRUE, а для тех у кого FALSE (игнорить).
0
|
||||||
| 20.07.2015, 17:54 | |
|
Ответы с готовыми решениями:
6
Автозаполнение поля в зависимости от условий |
|
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 52
|
||||||
| 27.07.2015, 12:32 [ТС] | ||||||
|
Вот поверить не смогу, что на IT форуме нет знатоков, которые бы смогли помочь.
грустно... Добавлено через 14 часов 9 минут Немного дополню вопрос, как можно доработать запрос, чтобы связка IDклиента и порог срабатывания/отбора записей из табл(2 столбца получается) брались из отдельной таблицы? К примеру если указывать ID клиента и кол-во транзакций, я бы отобразил это так(для конкретного клиента)
Можно скажем значения cp.mbox_id & кол-во транзакций(в моем случае 50), брать из другой таблицы и при этом использовать значения более чем для одного IDклиента(пара ID и кол-во транзакций по этому клиенту)? К примеру для клиента с ID (ID)233 (кол-во)40 (ID)333 (кол-во)700 (ID)123 (кол-во)95 Т.е. идея такая, чтобы использовать данные из таблицы в запросе при его отработке и выборки только интересующих данных
0
|
||||||
|
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
|
||||||
| 27.07.2015, 13:59 | ||||||
1
|
||||||
|
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 52
|
||||||||||||||||||||||
| 28.07.2015, 11:05 [ТС] | ||||||||||||||||||||||
|
А именно
Если возможно, не могли бы вы описать логику запроса в Части с WITH, чтобы было нормальное понимание.
0
|
||||||||||||||||||||||
|
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
|
|
| 28.07.2015, 20:40 | |
|
ruzerone, ну тестовых таблиц вы не привели - вот и пришлось выдумывать самому тестовые данные.
Надо было сразу привести тестовые данные и желаемый результат на них, а не свой способ решения никому не понятной задачи.
1
|
|
|
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 52
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 28.07.2015, 23:44 [ТС] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
По тестовым таблицам cprov_mbox - таблица с ID клиентами, содержит 2 столбца Name(имя клиента) и mbox_id(ID клиента) out_trx - таблица с записями Содержит 3 столбца ID-клиента(cprov_mbox_id), запись об операции(trx_id) и stored_at (время транзакции) monit_table - таблица с 4 столбцами, ID клиента, wrk_d(порог для будней), h_d(порог для выходных), status(true или false значения для определения необходимости мониторинга) По первому запросу из стар поста используемый запрос для получения рез. набора
результирующий набор
Время которое используется в Between планирую заменить на переменные и использовать функцию getdate
0
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
|
|||||||
| 29.07.2015, 07:56 | |||||||
|
ruzerone, исходные данные где?
1
|
|||||||
| 29.07.2015, 07:56 | |
|
Помогаю со студенческими работами здесь
7
Выбор ячейки в зависимости от условий Появление объектов в зависимости от условий Объявление переменных в зависимости от условий Расчет значения в зависимости от нескольких условий
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|