wiki:View4

Version 1 (modified by 211101, 44 hours ago) ( diff )

--

Извештај по тагови

Опис

Овој поглед обезбедува преглед на потрошувачката по тагови, со што се овозможува категоризација и анализа на трошоците според нивната намена (храна, транспорт, сметки, забава и сл.)

Погледот ги поврзува трансакциите со нивните тагови и ја сумира вкупната потрошувачка за секој таг

Табели опфатени со погледот

  • tag
  • tag_assigned_to_transaction
  • transaction
  • transaction_breakdown

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 барања
Note: See TracWiki for help on using the wiki.