Как использовать INTO для назначения результата выбора из запроса внутри функции postgres - PullRequest
0 голосов
/ 09 сентября 2018

В postgres я сделал эту функцию, и когда она вызывается, она печатает значение count, а не значение c.first_name, которое я передал в переменную. Я не знаю, если это правильный способ сделать это. Как я могу это исправить?

declare
    mostExperienced text;
BEGIN
    SELECT COUNT(*) AS count, c.first_name INTO mostExperienced 
    FROM crew_members c
    INNER JOIN aircrafts_members am ON am.crew_id = c.id 
    GROUP BY am.crew_id, c.first_name ORDER BY count DESC LIMIT 1;
    RETURN mostExperienced;
END;

1 Ответ

0 голосов
/ 09 сентября 2018

В этой SELECT ... INTO есть две переменные, поэтому, вероятно, лучшим выбором будет запись

declare
    mostExperienced RECORD;
BEGIN
    SELECT COUNT(*) AS count, c.first_name 
    INTO mostExperienced 
    FROM crew_members c
    INNER JOIN aircrafts_members am ON am.crew_id = c.id 
    GROUP BY am.crew_id, c.first_name ORDER BY count DESC 
    LIMIT 1;

    RETURN mostExperienced.first_name;
END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...