作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在使用 PostgreSQL JSON 功能从我的查询中创建 JSON 对象,这样我就可以轻松地在我的应用程序中使用它或将它传递到前端。
array_to_json(array_agg(tags.*))
在我需要的时候做(创建 JSON 对象,其中列作为数据的键并将其转换为数组),但是我还没有找到如果我只需要标签中的一两列,如何做同样的事情。我玩过各种 JSON 和数组函数,但从未取得过相同的结果。感谢帮助
整个查询
SELECT
tags_components.component_id,
array_to_json(array_agg(tags.*)) as tags
FROM tags_components
LEFT JOIN tags ON tags.id = tags_components.tag_id
AND tags_components.component_name = 'company'
GROUP BY tags_components.component_id
最佳答案
使用派生表,例如:
SELECT
tags_components.component_id,
array_to_json(array_agg(tags.*)) as tags
FROM tags_components
LEFT JOIN (
SELECT id, name -- only two columns
FROM tags
) tags
ON tags.id = tags_components.tag_id
AND tags_components.component_name = 'company'
GROUP BY tags_components.component_id
关于arrays - 如何为 N 列做与 array_to_json(array_agg(tags.*)) 完全相同的事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44637150/
我是一名优秀的程序员,十分优秀!