Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. CREATE OR REPLACE FUNCTION nosql_data_sale(date_from VARCHAR(10), date_to VARCHAR(10))
  2. RETURNS TABLE(place_id int, dish_id int, quantity int, total_price int)
  3. AS $$
  4.  
  5. BEGIN
  6.  
  7. RETURN QUERY
  8.  
  9. --DECLARE date_from VARCHAR;
  10. --DECLARE date_to VARCHAR;
  11. --SET date_from = '2019-11-01';
  12. --SET date_to = '2019-11-10';
  13.  
  14. select
  15. (receipt.data->>'place_id')::INT as place_id,
  16. (receipt_item.data->>'dish_id')::INT as dish_id,
  17. --receipt_item.data->>'dish_name' as dish_name,
  18. --receipt_item.data->>'is_to_set' as is_set,
  19. --receipt_item.data->>'set_id' as set_id,
  20. SUM((receipt_item.data->>'quantity')::INT) as quantity,
  21. SUM(((receipt_item.data->>'total_price')::INT / 100.)) as total_price
  22. --(receipt.data->>'date')::DATE as transation_date,
  23. --to_char((receipt.data->>'date')::DATE, 'MM') as transationmonth,
  24. --to_char((receipt.data->>'date')::DATE, 'YYYY') as transationyear,
  25. --(receipt.data ->> 'sys_number'::text) AS recipe_system_number,
  26. --(receipt.data->>'date')::TEXT AS TransactionTimestamp
  27. from pos_receipts_nosql receipt join
  28. (
  29. select
  30. jsonb_array_elements(data->'receipts_items') as data
  31. from
  32. pos_receipts_nosql
  33. where
  34. (data->>'date')::DATE BETWEEN '2019-11-01' and '2019-11-10'
  35. AND jsonb_typeof(data->'receipts_items') = 'array'
  36. ) receipt_item on receipt.data->>'sys_number' = receipt_item.data->>'receipt_sys_number'
  37. WHERE --to_char((receipt.data->>'date')::DATE, 'DD') = '09'
  38. --AND (receipt_item.data->>'dish_id')::INT IN (553)
  39. --AND receipt_item.data->>'is_to_set' = 'false'
  40.  
  41. receipt_item.data->>'is_part_of_combination' = 'false'
  42. --AND (receipt.data->>'place_id')::INT = 33
  43. GROUP BY place_id, dish_id; --dish_name, is_set, set_id,
  44. --transation_date,
  45. --TransactionDay,
  46. --transationmonth,
  47. --transationyear,
  48. --TransactionTimestamp,
  49. --recipe_system_number
  50. --order by transationyear, transationmonth DESC, place_id
  51.  
  52. END;
  53. $$
  54. LANGUAGE plpgsql;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement