29 lines
1.4 KiB
SQL
29 lines
1.4 KiB
SQL
-- name: CreateTransaction :one
|
|
INSERT INTO transactions
|
|
(date, memo, amount, account_id, payee_id, category_id)
|
|
VALUES ($1, $2, $3, $4, $5, $6)
|
|
RETURNING *;
|
|
|
|
-- name: GetTransactionsForBudget :many
|
|
SELECT transactions.id, transactions.date, transactions.memo, transactions.amount,
|
|
accounts.name as account, COALESCE(payees.name, '') as payee, COALESCE(category_groups.name, '') as category_group, COALESCE(categories.name, '') as category
|
|
FROM transactions
|
|
INNER JOIN accounts ON accounts.id = transactions.account_id
|
|
LEFT JOIN payees ON payees.id = transactions.payee_id
|
|
LEFT JOIN categories ON categories.id = transactions.category_id
|
|
LEFT JOIN category_groups ON category_groups.id = categories.category_group_id
|
|
WHERE accounts.budget_id = $1
|
|
ORDER BY transactions.date DESC
|
|
LIMIT 200;
|
|
|
|
-- name: GetTransactionsForAccount :many
|
|
SELECT transactions.id, transactions.date, transactions.memo, transactions.amount,
|
|
accounts.name as account, COALESCE(payees.name, '') as payee, COALESCE(category_groups.name, '') as category_group, COALESCE(categories.name, '') as category
|
|
FROM transactions
|
|
INNER JOIN accounts ON accounts.id = transactions.account_id
|
|
LEFT JOIN payees ON payees.id = transactions.payee_id
|
|
LEFT JOIN categories ON categories.id = transactions.category_id
|
|
LEFT JOIN category_groups ON category_groups.id = categories.category_group_id
|
|
WHERE transactions.account_id = $1
|
|
ORDER BY transactions.date DESC
|
|
LIMIT 200; |