私は常に正確に1つのレコードを返すこのような関数を持っています:
CREATE FUNCTION foo(pid int) RETURNS TABLE (a int, b int)
AS $$
-- …
$$ LANGUAGE sql;
次のようなテーブルから行を選択したい:
SELECT p.id
, foo(p.id).*
FROM puns AS p;
ただし、これにより で構文エラーが発生し.*
ます。は関数の引数であるJOIN
ため、 でそれを行う方法がわかりませんでした。p.id
関数によって返されたレコードを選択クエリにアンパックするにはどうすればよいですか? 目的の結果には、 と の 3 つの列id
がa
ありb
ます。
PostgreSQL 9.2 を使用しています。