transactions.sql 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. SELECT
  2. 'dynamic' as component,
  3. sqlpage.run_sql('cookie.sql') AS properties
  4. ;
  5. SELECT
  6. 'dynamic' as component,
  7. sqlpage.run_sql('nav.sql') AS properties
  8. ;
  9. SELECT
  10. 'table' AS component,
  11. TRUE AS sort,
  12. TRUE AS search,
  13. TRUE AS striped_rows,
  14. TRUE AS small,
  15. 'Price' AS align_right,
  16. 'Quantity' AS align_right,
  17. 'Unit' AS align_right,
  18. 'Notice' AS markdown
  19. ;
  20. DROP TABLE IF EXISTS sqlpage_txn;
  21. CREATE TEMPORARY TABLE IF NOT EXISTS sqlpage_txn AS (
  22. SELECT
  23. to_char(
  24. (ts AT TIME ZONE 'UTC') AT TIME ZONE 'Pacific/Auckland', --COALESCE('$ParameterTZ', 'Pacific/Auckland'),
  25. 'Mon DD HH24:MI:SS'
  26. ) AS "Time",
  27. t.description AS Description,
  28. s.code AS "Store",
  29. p.name AS "Product",
  30. c.name AS "Category",
  31. g.name AS "Group",
  32. CASE WHEN t.organic THEN 'yes' ELSE 'no' END AS "Organic",
  33. to_char(t.price, 'FM999999999.00') AS "Price",
  34. --to_char(quantity, '9.'||repeat('9',3-1)||'EEEE') AS Quantity,
  35. to_char(t.price, 'FM999999999.000') AS "Quantity",
  36. u.name AS "Unit"
  37. FROM transactions t
  38. JOIN products p ON (product_id = p.id)
  39. JOIN categories c ON (category_id = c.id)
  40. JOIN groups g ON (group_id = g.id)
  41. JOIN stores s ON (store_id = s.id)
  42. JOIN units u ON (t.unit_id = u.id)
  43. JOIN sqlpage_options op ON op.type = 'product' AND p.name = op.name
  44. JOIN sqlpage_options oc ON oc.type = 'category' AND c.name = oc.name
  45. JOIN sqlpage_options og ON og.type = 'group' AND g.name = og.name
  46. WHERE
  47. COALESCE(op.selected, oc.selected, og.selected, TRUE)
  48. AND
  49. op.session = sqlpage.cookie('session')
  50. AND
  51. oc.session = sqlpage.cookie('session')
  52. AND
  53. og.session = sqlpage.cookie('session')
  54. LIMIT 100);
  55. SELECT * FROM sqlpage_txn;
  56. SELECT
  57. '# No Data' AS "Notice"
  58. WHERE NOT EXISTS(SELECT * FROM sqlpage_txn LIMIT 1);