This repository was archived by the owner on Mar 18, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreceipts.sql
40 lines (40 loc) · 1.49 KB
/
receipts.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
.mode json
WITH DOC_TAGS AS (
SELECT tags.Z_14RECEIPTS1 as ID, ZTAG.ZNAME as NAME
FROM Z_14TAGS tags
JOIN ZTAG ON Z_PK = tags.Z_18TAGS
),
GROUPED_DOC_TAGS AS (
SELECT DOC_TAGS.ID, GROUP_CONCAT( DOC_TAGS.NAME, '<<[]>>' ) as TAGS
FROM DOC_TAGS
GROUP BY ID
)
SELECT ZRECEIPT.Z_PK as ID,
CASE ZRECEIPT.ZDATATYPE
WHEN 1 THEN 'receipt'
WHEN 2 THEN 'contact'
WHEN 3 THEN 'activity'
WHEN 4 THEN 'document'
ELSE 'unknown'
END as TYPE,
DATETIME(ZRECEIPT.ZIMPORTDATE + 978307200, 'unixepoch') as IMPORTED,
DATETIME(ZRECEIPT.ZDATE + 978307200, 'unixepoch') as DATE,
case ZRECEIPT.ZDATATYPE
when 4 then ZRECEIPT.ZMERCHANT
else NULL
end as TITLE,
case ZRECEIPT.ZDATATYPE
when 1 then ZRECEIPT.ZMERCHANT
else COALESCE(ZCUSTOMRECEIPTITEM.ZSTRINGDATA, ZRECEIPT.ZMERCHANT)
end as ORGANIZATION,
ZCATEGORY.ZNAME as CATEGORY,
ZSUBCATEGORY.ZNAME as SUBCATEGORY,
GROUPED_DOC_TAGS.TAGS,
ZRECEIPT.ZNOTES as NOTES,
ZRECEIPT.ZPATH as PATH
FROM ZRECEIPT
LEFT JOIN GROUPED_DOC_TAGS ON GROUPED_DOC_TAGS.ID = ZRECEIPT.Z_PK
LEFT JOIN ZCATEGORY ON ZRECEIPT.ZCATEGORY = ZCATEGORY.Z_PK
LEFT JOIN ZCUSTOMRECEIPTITEM ON ZRECEIPT.Z_PK = ZCUSTOMRECEIPTITEM.ZRECEIPT
LEFT JOIN ZSUBCATEGORY ON ZRECEIPT.ZSUBCATEGORY = ZSUBCATEGORY.Z_PK
ORDER BY ZRECEIPT.Z_PK;