= Извештај по тагови ==== Опис Овој поглед обезбедува преглед на потрошувачката по тагови, со што се овозможува категоризација и анализа на трошоците според нивната намена (храна, транспорт, сметки, забава и сл.) Погледот ги поврзува трансакциите со нивните тагови и ја сумира вкупната потрошувачка за секој таг ==== Табели опфатени со погледот - `tag` - `tag_assigned_to_transaction` - `transaction` - `transaction_breakdown` ==== SQL код {{{#!sql CREATE OR REPLACE VIEW vw_spending_by_tag AS SELECT tg.tag_id, tg.tag_name, COALESCE(SUM(tb.spent_amount), 0) AS total_spent, COUNT(DISTINCT t.transaction_id) AS transaction_count FROM tag tg JOIN tag_assigned_to_transaction tat ON tat.tag_id = tg.tag_id JOIN transaction t ON t.transaction_id = tat.transaction_id JOIN transaction_breakdown tb ON tb.transaction_id = t.transaction_id GROUP BY tg.tag_id, tg.tag_name; }}} ==== Објаснување на логиката - Се земаат само трансакции кои имаат доделен таг - `spent_amount` се агрегира по таг - `COUNT(DISTINCT ...)` се користи за да се избегне дуплирање на трансакции ==== Причина за користење - категоризацијата е суштинска за лични финансии - овозможува анализа на трошоци по намена - ја елиминира потребата од сложени `JOIN` и `GROUP BY` барања