Files
sql/banque.vues.md
2025-11-16 09:10:10 +01:00

690 B

create or replace view holder_detail as
select h.id, h.type,
  case
  when type = 'PERSON' then firstname || ' ' || lastname
  else name
  end as nom,
  case
  when type = 'PERSON' then age(birthdate)
  when type = 'COMPANY' then age(c.created_at)
  end as age
from holder h
  left join person p on p.id = h.id
  left join company c on c.id = h.id;
create or replace view account_detail as
select a.balance,
  a.balance * ah.share as balance_currency,
  a.balance * ah.share / latest_exchange_rate(a.currency_code, current_date),
  a.currency_code,
  hd.nom
from account a
join account_holder ah on ah.account_id = a.id
join holder_detail hd on ah.holder_id = hd.id;