CREATE OR REPLACE FUNCTION get_unapproved_reports() RETURNS TABLE ( report_date DATE, store_id INT, overall_profit NUMERIC, month_and_year TEXT, profit NUMERIC ) LANGUAGE plpgsql AS $$ BEGIN RETURN QUERY SELECT r.date AS report_date, r.store_id, r.overall_profit, r.month_and_year, r.profit FROM report r LEFT JOIN approves a ON r.date = a.date AND r.store_id = a.store_id WHERE a.date IS NULL ORDER BY r.date DESC; END; $$;