- 数据仓库中的
post数据表和file数据表有关系:file表的post_id字段对应post表的id字段。 file表记录文件内容,当前有多个文件数据关联id为3的内容。- 使用SQL查询从
post表获取内容列表,并联合file表添加文件信息。 - 用
LEFT JOIN合并file表,并设置条件file.post_id = post.id。 - 查询会显示内容和关联文件,由于内容可能对应多个文件,查询结果可能包含重复内容项。
GROUP BY post_id用于解决重复,但因文件数据有多值会导致错误。- 为解决多值问题,使用
JSON_AGG将文件id组成数组,作为files栏目返回。 - 查询结果中
files是一个数组,无文件对应有null,有文件则显示其id数组。 - 例如,
id等于三的内容有四个相关文件,文件id分别为1, 2, 3, 4。