在函数返回的表上使用join语句

时间:2016-10-11 13:15:19

标签: postgresql

以下函数返回user_id,用户名和密码表:

CREATE OR REPLACE FUNCTION get_usernames() RETURNS TABLE
        (   user_id integer,
            username text,
            password text
        ) AS $$

        SELECT user_id, username, password FROM users 
$$ LANGUAGE sql;

如何使用此表连接另一个表,而不是使用函数返回的user_id值的函数。 例如,如果我想使用此函数来执行这样的连接:

INNER JOIN tablex ON get_usernames().user_id  = tablex.user_id

有人能指出我正确的方向吗? 感谢

1 个答案:

答案 0 :(得分:0)

SELECT holiday.user_id, username, start_date 
FROM holiday 
   inner join get_usernames() AS tablex ON holiday.user_id = tablex.user_id;

这就是修复它的原因。