Меня попросили составить отчет о состоянии наших активов в фиксированный момент времени (1 января 2019 г.).
Способ написания этой базы данных состоит в том, что у актива есть собственная таблицас текущей информацией, а затем для различных битов данных также существует история изменения этой информации, каждый бит хранится в своей собственной таблице «истории» с начальной и конечной датами.Так, например, один из битов информации - это класс активов - таблица активов будет иметь поле, содержащее текущий класс активов, а затем, если этот класс изменился в прошлом, в таблице asset_history будут строки с начала и концадаты.Что-то вроде ...
AssetID AssetClass StartDate EndDate
------- ---------- --------- -------
1 1 12-12-87 23-04-90
1 5 23-04-90 01-02-00
1 2 01-02-00 27-01-19
1 1 27-01-19
Так что этот актив несколько раз менял классы, но мне нужно написать что-то, чтобы можно было проверить, для каждого актива, и определить, какой класс был активным классом на1 января. Для этого примера это будет вторая строка из последней строки, поскольку она перешла в класс 2 в 2000 году, а затем после 1 января 2019 года она станет классом 1.
И чтобы сделать его более сложным, я сделаюМне нужно это для нескольких бит данных, но если я смогу понять, как это сделать правильно, тогда я с удовольствием переведу это на другие данные.
Любые указатели будут очень благодарны!