SELECT GENERATE_SERIES(0, 2)
和SELECT * FROM GENERATE_SERIES(0, 2)
非常有用,因为它会返回列和行... SELECT id,GENERATE_SERIES(0, 2) AS s FROM t
...
现在假设一个SETOF返回函数,如json_each_text()
SELECT * FROM json_each_text('{"a":"foo", "b":"bar"}'); -- OK, useful...
SELECT id,json_each_text('{"a":"foo", "b":"bar"}') FROM t; -- Ops, UGLY THING!
那么,如何"演员"第二个查询到util的东西,有行和coluns吗?
PS:第二个查询工作正常,但不是我需要的(不是cols和rows)。
Ops ...我正在解决(它工作正常!)一个非常具体的问题(pg9.3 +功能)
SELECT t.id, key, value
FROM t, LATERAL json_each_text(t.info);
但不明白如何解决"转换SETOF数据类型的通用问题"行和列。
答案 0 :(得分:1)
SELECT id, (json_each_text(t.info)).* FROM t