Skip to content

Commit f2494f3

Browse files
Update sample queries to accommodate removal of deleted column (#103)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 7d2bcad commit f2494f3

File tree

1 file changed

+49
-46
lines changed

1 file changed

+49
-46
lines changed

README.md

Lines changed: 49 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,11 @@ ranked_payees AS (
8686
) AS rnk
8787
FROM
8888
flat_transactions AS t
89-
INNER JOIN budgets AS b ON t.budget_id = b.id
89+
INNER JOIN budgets AS b
90+
ON t.budget_id = b.id
9091
WHERE
9192
t.payee_name != 'Starting Balance'
9293
AND t.transfer_account_id IS NULL
93-
AND NOT t.deleted
9494
GROUP BY
9595
b.id
9696
, t.payee_id
@@ -110,63 +110,68 @@ ORDER BY
110110
;
111111
```
112112

113-
To get payees with no transactions:
113+
To get duplicate payees, or payees with no transactions:
114114

115115
```sql
116-
WITH st AS (
117-
SELECT
116+
WITH txns AS (
117+
SELECT DISTINCT
118118
budget_id
119119
, payee_id
120-
, MAX(NOT deleted) AS has_active_transaction
121120
FROM
122-
scheduled_flat_transactions
123-
GROUP BY
121+
flat_transactions
122+
123+
UNION ALL
124+
125+
SELECT DISTINCT
124126
budget_id
125127
, payee_id
128+
FROM
129+
scheduled_flat_transactions
126130
)
127131

128-
, t AS (
132+
, p AS (
129133
SELECT
130134
budget_id
131-
, payee_id
132-
, MAX(NOT deleted) AS has_active_transaction
135+
, id
136+
, name
133137
FROM
134-
flat_transactions
135-
GROUP BY
136-
budget_id
137-
, payee_id
138+
payees
139+
WHERE
140+
NOT deleted
141+
AND name != 'Reconciliation Balance Adjustment'
138142
)
139143

140144
SELECT DISTINCT
141-
b.name AS budget
142-
, p.name AS payee
143-
FROM
144-
budgets AS b
145-
INNER JOIN payees AS p ON b.id = p.budget_id
146-
LEFT JOIN t
147-
ON (
148-
p.id = t.payee_id
149-
AND p.budget_id = t.budget_id
150-
)
151-
LEFT JOIN st
152-
ON (
153-
p.id = st.payee_id
154-
AND p.budget_id = st.budget_id
155-
)
156-
WHERE
157-
NOT p.deleted
158-
AND p.name != 'Reconciliation Balance Adjustment'
159-
AND (
160-
t.payee_id IS NULL
161-
OR NOT t.has_active_transaction
162-
)
163-
AND (
164-
st.payee_id IS NULL
165-
OR NOT st.has_active_transaction
166-
)
167-
ORDER BY
168145
budget
169146
, payee
147+
FROM (
148+
SELECT
149+
b.name AS budget
150+
, p.name AS payee
151+
FROM
152+
p
153+
INNER JOIN budgets AS b
154+
ON p.budget_id = b.id
155+
LEFT JOIN txns AS t
156+
ON p.id = t.payee_id AND p.budget_id = t.budget_id
157+
WHERE
158+
t.payee_id IS NULL
159+
160+
UNION ALL
161+
162+
SELECT
163+
b.name AS budget
164+
, p.name AS payee
165+
FROM
166+
p
167+
INNER JOIN budgets AS b
168+
ON p.budget_id = b.id
169+
GROUP BY budget, payee
170+
HAVING
171+
COUNT(*) > 1
172+
173+
)
174+
ORDER BY budget, payee
170175
;
171176
```
172177

@@ -182,17 +187,15 @@ FROM (
182187
, amount_major
183188
FROM flat_transactions
184189
WHERE
185-
NOT deleted
186-
AND category_name = 'Apps'
190+
category_name = 'Apps'
187191
AND SUBSTR(`date`, 1, 7) = SUBSTR(DATE(), 1, 7)
188192
UNION ALL
189193
SELECT
190194
budget_id
191195
, amount_major
192196
FROM scheduled_flat_transactions
193197
WHERE
194-
NOT deleted
195-
AND category_name = 'Apps'
198+
category_name = 'Apps'
196199
AND SUBSTR(date_next, 1, 7) < SUBSTR(DATE('now', '+1 year'), 1, 7)
197200
)
198201
;

0 commit comments

Comments
 (0)