У меня есть таблица, в которой содержится список уголовных обвинений. Эти обвинения могут быть заменены ... например, если парень был обвинен в нападении, но во время судебного разбирательства жертва умирает, поэтому обвинение заменяется убийством.
У нас есть таблица Подстановки, которая содержит From_Offence и To_Offence. Когда начисление заменено, мы создаем новое начисление, а затем в таблице подстановок записываем идентификатор From, а затем новый To_Id.
CREATE TABLE [dbo].[ijis_court_item_association](
[ijis_court_item_association_id] [int] IDENTITY(1,1) NOT NULL,
[from_ijis_court_item_id] [int] NOT NULL,
[to_ijis_court_item_id] [int] NOT NULL
)
Заряд можно заменить много раз. Итак, Заряд 1 стал Зарядом 2, но потом - Зарядом 3. А затем, возможно, Заряд 3 станет Зарядом 4.
Вы бы получили:
FROMID TOID
1 2
2 3
3 4
Требуется вернуть список идентификаторов сборов на основе текущего идентификатора сборов.
Итак, по-английски разработчик передаст мне ChargeID: 4, и мне нужно вернуть историю этого заряда (включая его самость). И мой набор результатов будет:
4
3
2
1
Может быть, я могу сделать функцию GetPreviousChargeId, а затем каким-то образом рекурсивно сделать что-нибудь? Но я надеялся, что может быть разумный способ сделать это.
Надеюсь, что есть способ.