Files
bodyshop/hasura/migrations/1654023641223_run_sql_migration/up.sql
2022-05-31 12:38:07 -07:00

36 lines
815 B
PL/PgSQL

CREATE OR REPLACE FUNCTION public.search_inventory (search text)
RETURNS SETOF inventory
LANGUAGE plpgsql
STABLE
AS $function$
BEGIN
IF search = '' THEN
RETURN query
SELECT
*
FROM
inventory;
ELSE
RETURN query
SELECT
inventory.*
FROM
inventory inner JOIN billlines ON inventory.billlineid = billlines.id
inner JOIN bills ON billlines.billid = bills.id
inner JOIN vendors ON bills.vendorid = vendors.id
WHERE
inventory.line_desc ILIKE '%' || search || '%'
OR bills.invoice_number ILIKE '%' || search || '%'
OR vendors.name ILIKE '%' || search || '%'
ORDER BY
inventory.line_desc ILIKE '%' || search || '%'
OR NULL,
bills.invoice_number ILIKE '%' || search || '%'
OR NULL,
vendors.name ILIKE '%' || search || '%'
OR NULL;
END IF;
END
$function$;