我想执行一些这样的查询:
SELECT folders.*,(SELECT files.filename FROM files WHERE files.folder_id = folders.id ) as files FROM folders ORDER BY files[column name of filename]
解决方法
这将创建一个逗号分隔的文件夹中所有文件的列表:
select folders.*,(SELECT string_agg(files.filename,',') FROM files WHERE files.folder_id = folders.id) as files from folders
如果您需要在逗号分隔列表中对文件名进行排序,则可以在较新的Postgres版本中使用订单:
select folders.*,' order by files.filename) FROM files WHERE files.folder_id = folders.id) as files from folders
我不确定我是否理解“并在ORDER BY中使用它”的要求.如果该列包含多个文件,您如何期望总结果的正确顺序?您需要向我们展示一些示例输出(基于一些示例数据).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。