mirror of
https://github.com/CompassConnections/Compass.git
synced 2026-01-02 10:58:10 -05:00
46 lines
1.2 KiB
PL/PgSQL
46 lines
1.2 KiB
PL/PgSQL
|
|
|
|
create
|
|
or replace function public.get_compatibility_questions_with_answer_count () returns setof record language plpgsql as $function$
|
|
BEGIN
|
|
RETURN QUERY
|
|
SELECT
|
|
love_questions.*,
|
|
COUNT(love_compatibility_answers.question_id) as answer_count
|
|
FROM
|
|
love_questions
|
|
LEFT JOIN
|
|
love_compatibility_answers ON love_questions.id = love_compatibility_answers.question_id
|
|
WHERE love_questions.answer_type='compatibility_multiple_choice'
|
|
GROUP BY
|
|
love_questions.id
|
|
ORDER BY
|
|
answer_count DESC;
|
|
END;
|
|
$function$;
|
|
|
|
create
|
|
or replace function public.get_love_question_answers_and_profiles (p_question_id bigint) returns setof record language plpgsql as $function$
|
|
BEGIN
|
|
RETURN QUERY
|
|
SELECT
|
|
love_answers.question_id,
|
|
love_answers.created_time,
|
|
love_answers.free_response,
|
|
love_answers.multiple_choice,
|
|
love_answers.integer,
|
|
profiles.age,
|
|
profiles.gender,
|
|
profiles.city,
|
|
users.data
|
|
FROM
|
|
profiles
|
|
JOIN
|
|
love_answers ON profiles.user_id = love_answers.creator_id
|
|
join
|
|
users on profiles.user_id = users.id
|
|
WHERE
|
|
love_answers.question_id = p_question_id
|
|
order by love_answers.created_time desc;
|
|
END;
|
|
$function$; |