|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.10.2021, 13:28 | #1 |
Регистрация: 01.10.2021
Сообщений: 9
|
Формирование истории из нескольких таблиц в PostgrSQL
Есть три таблицы (прилагаются):
- Таблица ObjectsHistory oh - история Объектов. У Объектов есть статусы. Бывает, что у Объекта нет статуса (не проставлен), - Таблица PackagesHistory ph - история Пакетов. У Пакетов есть статусы. Бывает, что у Пакета нет статуса (не проставлен), - Таблица ObjectToPackage op - связи объектов с пакетами. Объекты могут находиться в Пакетах, перемещаться между Пакетами, а также могут находиться вне Пакетов. В один момент времени Объект может быть только в одном Пакете либо вне Пакетов. Как сформировать результирующую таблицу, в которой отображается история всех событий до текущей даты (текущая дата задается как входящий параметр)? - - история изменения статусов объектов, - история изменения принадлежности объектов к пакетам, - история изменения статусов пакетов. Сначала выбрать неповторяющиеся Объекты и даты изменения их Статусов. По этой выборке определить: - как менялось отношение ObjectToPackage op, - как менялись статусы пакетов в PackagesHistory ph. В результирующую таблицу должны попасть: - все изменения статусов объектов, Id выводится в строке, где событие ObjectStatusChange, - все перемещения объектов между пакетами, Id выводится в строке, где событие ObjectToPackageChange - все изменения статусов пакетов, начиная с даты вхождения объекта в пакет, указанной в колонке B, до даты вхождения в следующий пакет (либо выхождения из пакетов вообще). Id выводится в строке, где событие PackageStatusChange Если в дату вхождения объекта в пакет не осуществлялась смена статуса пакета, то указывается его текущий статус на эту дату. Если от последней даты в колонке B до текущей даты производилась смена статуса пакета, то выводятся все такие даты. Прилагается файл, в котором на первом листе - три таблицы, заполненные исходными данными, а на втором листе - конечный результат (т.е. вручную по исходным данным собрана таблица с общей историей). На листах "Промежуточный результат" показан процесс сборки конечного результата с использованием формул в Excel. |
25.10.2021, 15:34 | #2 |
Регистрация: 01.10.2021
Сообщений: 9
|
Закрываю вопрос. Вопрос отпал.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Параллельное формирование двух таблиц с поиском дублей | KBO | БД в Delphi | 3 | 26.06.2018 12:06 |
Возможно ли сделать формирование таблицы на основе других таблиц | Сергей Будаев | Microsoft Office Excel | 7 | 29.03.2016 13:18 |
формирование файла из нескольких | Russdoc | Microsoft Office Word | 4 | 13.12.2012 22:37 |
Автоматическое формирование нескольких отчётов по данным из формы | Kerguru | Microsoft Office Access | 1 | 20.04.2010 20:20 |
Формирование нескольких сводных таблиц | FormAlDeGid | Microsoft Office Excel | 0 | 24.10.2009 12:04 |