-- +goose Up CREATE VIEW display_transactions AS SELECT transactions.id, transactions.date, transactions.memo, transactions.amount, transactions.group_id, transactions.status, accounts.name as account, transactions.payee_id, transactions.category_id, COALESCE(payees.name, '') as payee, COALESCE(category_groups.name, '') as category_group, COALESCE(categories.name, '') as category, COALESCE(( SELECT CONCAT(otherAccounts.name) FROM transactions otherTransactions LEFT JOIN accounts otherAccounts ON otherAccounts.id = otherTransactions.account_id WHERE otherTransactions.group_id = transactions.group_id AND otherTransactions.id != transactions.id ), '')::text as transfer_account, accounts.budget_id, transactions.account_id 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 ORDER BY transactions.date DESC; -- +goose Down DROP VIEW display_transactions;