以下代码段
SELECT data.generate_file_data(
p.file_name,
p.reference,
p.extension,
p.platform,
p.library,
p.path,
p.is_temporary
) x
FROM files.main p;
返回一列名为generate\u file\u data的记录,如下所示
generate_file_data record
(reference, directory, platform, library)
(reference, directory, platform, library)
(reference, directory, platform, library)
(reference, directory, platform, library)
...
结果(generate\ file\ data()函数的返回类型)是以下类型的记录
id integer directory text platform text library text
id directory platform library
它总是返回一个结果。我想知道有没有办法把这些唱片分成四部分,放在一个盒子里
TABLE(id text, directory text, platform text, library text)
所以结果将是一个表而不是一列记录,有点像这样
id integer directory text platform text library text
id directory platform library
id directory platform library
id directory platform library
id directory platform library
...
1条答案
按热度按时间wmomyfyw1#
感谢@gmb,他几乎得到了正确的答案,似乎cross-join-lateral允许我们为每一行调用generate\u file\u data()函数的结果,并将其粘合在一起
我们在选择要返回的列时指定了它!