我有一个名为“UserState”的表格,包括以下字段:
- id
- userid
- ctime
- state
- endtime
我有一个简单的查询:
SELECT userid FROM "UserState" WHERE ctime>'2014-07-14'::timestamp
我有一个 plpgsql 函数,需要以此查询的结果作为参数:
get_timeinstate(SELECT userid FROM "UserState" WHERE ctime>'2014-07-14'::timestamp);
如何正确创建函数以将查询结果作为参数传递?需要理解的是,该函数返回另一个 SQL 结果,我需要在其中使用“IN”条件:
$func$
BEGIN
RETURN QUERY
SELECT
...myanotherquery...
WHERE "UserState".userid IN (HERE I NEED TO INSERT MY QUERY RESULT)
END;
$func$
LATERAL
:http://www.postgresql.org/docs/current/static/sql-select.html - user330315