Skip to content

Instantly share code, notes, and snippets.

@readyyyk
Created February 12, 2024 16:39
Show Gist options
  • Save readyyyk/82613032fdea834f6b9d2286b01de0bc to your computer and use it in GitHub Desktop.
Save readyyyk/82613032fdea834f6b9d2286b01de0bc to your computer and use it in GitHub Desktop.
select with tags
SELECT
"transactions"."id",
"transactions"."is_income",
"transactions"."amount",
"transactions"."currency",
"transactions"."description",
"transactions"."createdAt",
GROUP_CONCAT ("tags"."text") AS "tags"
FROM
"transactions"
LEFT JOIN "tags" ON "tags"."transaction_id" = "transactions"."id"
WHERE
(
"transactions"."owner_id" = ?
AND "transactions"."description" LIKE ?
AND "transactions"."id" IN (
SELECT
"transaction_id"
FROM
(
SELECT
"transaction_id",
GROUP_CONCAT ("text") AS "matched_tags_str"
FROM
"tags"
WHERE
"tags"."text" IN (?, ?, ?)
GROUP BY
"tags"."transaction_id"
) "sq1"
WHERE
"matched_tags_str" LIKE ?
)
)
GROUP BY
"transactions"."id"
ORDER BY
"transactions"."createdAt" desc
LIMIT
?
OFFSET
?;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment