pantry-track/application/shoppinglists/sql/getShoppingListByID.sql
2025-07-12 09:43:02 -05:00

15 lines
723 B
SQL

WITH passed_id AS (SELECT %s AS passed_id),
cte_sl_items AS (
SELECT items.*,
(SELECT COALESCE(row_to_json(un), '{}') FROM units un WHERE un.id = items.uom LIMIT 1) AS uom
FROM %%site_name%%_shopping_list_items items
WHERE items.sl_id = (SELECT passed_id FROM passed_id)
)
SELECT (SELECT passed_id FROM passed_id) AS passed_id,
%%site_name%%_shopping_lists.*,
logins.username as author,
(SELECT COALESCE(array_agg(row_to_json(slis)), '{}') FROM cte_sl_items slis) AS sl_items
FROM %%site_name%%_shopping_lists
JOIN logins ON %%site_name%%_shopping_lists.author = logins.id
WHERE %%site_name%%_shopping_lists.id=(SELECT passed_id FROM passed_id)