mirror of
https://github.com/acedanger/budget-database.git
synced 2025-12-05 22:50:13 -08:00
refactor SQL scripts for consistency and style improvements
This commit is contained in:
@@ -1,63 +1,74 @@
|
||||
|
||||
|
||||
select 'Import' as TBL, count(1) as REC_CNT from public.budgetimport
|
||||
select
|
||||
'Import' as TBL,
|
||||
count(1) as REC_CNT
|
||||
from
|
||||
public.budgetimport
|
||||
union all
|
||||
select 'Detail' as TBL, count(1) as REC_CNT from public.budgetdetails;
|
||||
|
||||
|
||||
select acct.acct_friendly_name, count(1) as "Number of Transactions"
|
||||
from
|
||||
public.budgetdetails trx
|
||||
inner join public.accounts acct using(acct_id)
|
||||
group by acct.acct_friendly_name
|
||||
|
||||
|
||||
select
|
||||
acct.acct_friendly_name
|
||||
, extract(year from trx.trx_date) trx_year
|
||||
, lower(trx.trx_description) trx_description
|
||||
, avg(abs(trx.trx_amount))::numeric(7,2) avg_amt
|
||||
, count(trx.trx_description) rec_cnt
|
||||
, min(abs(trx.trx_amount))::numeric(7,2) min_amt
|
||||
, max(abs(trx.trx_amount))::numeric(7,2) max_amt
|
||||
, sum(abs(trx.trx_amount))::numeric(9,2) ttl_amt
|
||||
select
|
||||
'Detail' as TBL,
|
||||
count(1) as REC_CNT
|
||||
from
|
||||
public.budgetdetails trx
|
||||
inner join public.accounts acct using(acct_id)
|
||||
where
|
||||
trx.trx_date <= current_date
|
||||
and abs(trx.trx_amount) > 0
|
||||
-- and lower(acct.account_friendly_name) like '%savings'
|
||||
public.budgetdetails;
|
||||
|
||||
select
|
||||
acct.acct_friendly_name,
|
||||
count(1) as "Number of Transactions"
|
||||
from
|
||||
public.budgetdetails trx
|
||||
inner join public.accounts acct using (acct_id)
|
||||
group by
|
||||
trx_year, acct.acct_friendly_name, lower(trx_description)
|
||||
having
|
||||
count(1) > 2
|
||||
order by
|
||||
trx_year desc
|
||||
, acct.acct_friendly_name
|
||||
, rec_cnt desc
|
||||
, lower(trx.trx_description);
|
||||
|
||||
|
||||
select
|
||||
bal.account_friendly_name
|
||||
, bal.transaction_date
|
||||
, bal.transaction_day_of_week
|
||||
, age(transaction_date, current_date) as days_from_today
|
||||
, bal.transaction_description
|
||||
, bal.transaction_amount
|
||||
, bal.running_bal
|
||||
acct.acct_friendly_name
|
||||
select
|
||||
acct.acct_friendly_name,
|
||||
extract(
|
||||
year
|
||||
from
|
||||
trx.trx_date
|
||||
) trx_year,
|
||||
lower(trx.trx_description) trx_description,
|
||||
avg(abs(trx.trx_amount))::numeric(7, 2) avg_amt,
|
||||
count(trx.trx_description) rec_cnt,
|
||||
min(abs(trx.trx_amount))::numeric(7, 2) min_amt,
|
||||
max(abs(trx.trx_amount))::numeric(7, 2) max_amt,
|
||||
sum(abs(trx.trx_amount))::numeric(9, 2) ttl_amt
|
||||
from
|
||||
public.runbal bal
|
||||
where
|
||||
lower(account_friendly_name) = 'joint checking'
|
||||
and transaction_date between
|
||||
(current_date - interval '1 week')
|
||||
and (
|
||||
current_date + interval '3 weeks'
|
||||
)::date
|
||||
;
|
||||
public.budgetdetails trx
|
||||
inner join public.accounts acct using (acct_id)
|
||||
where
|
||||
trx.trx_date <= current_date
|
||||
and abs(trx.trx_amount) > 0
|
||||
-- and lower(acct.account_friendly_name) like '%savings'
|
||||
group by
|
||||
trx_year,
|
||||
acct.acct_friendly_name,
|
||||
lower(trx_description)
|
||||
having
|
||||
count(1) > 2
|
||||
order by
|
||||
trx_year desc,
|
||||
acct.acct_friendly_name,
|
||||
rec_cnt desc,
|
||||
lower(trx.trx_description);
|
||||
|
||||
select
|
||||
bal.account_friendly_name,
|
||||
bal.transaction_date,
|
||||
bal.transaction_day_of_week,
|
||||
age (transaction_date, current_date) as days_from_today,
|
||||
bal.transaction_description,
|
||||
bal.transaction_amount,
|
||||
bal.running_bal
|
||||
from
|
||||
public.runbal bal
|
||||
where
|
||||
lower(account_friendly_name) = 'joint checking'
|
||||
and transaction_date between (current_date - interval '1 week') and (current_date + interval '3 weeks')::date;
|
||||
|
||||
select *
|
||||
from public.get_transactions_for_period('joint checking', '3/1/2023'::date, '3/31/2023'::date)
|
||||
select
|
||||
*
|
||||
from
|
||||
public.get_transactions_for_period (
|
||||
'joint checking',
|
||||
'3/1/2023'::date,
|
||||
'3/31/2023'::date
|
||||
)
|
||||
Reference in New Issue
Block a user