0
有这个LEFT JOIN
这是一个更大的一部分选择我目前如何过滤JSON数组中的Postgres
LEFT JOIN (
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 = 'contact'
GROUP BY tags_components.component_id
) AS tags ON tags.component_id = contact.id
预期,如果组件具有分配的所有标签其中一期工程。然而tags
数组总是大小为COUNT(tags.*)
,因此对于没有任何标签的组件填充null
。有没有办法过滤这些空值?我尝试了使用json_strip_nulls
或在阵列上使用json_strip_nulls
或有FILTER
,但我没有达到正确的结果(JSON数组只包含非空值)
谢谢,过滤器真的有效。我敢打赌,我写了完全相同的代码,但显然不是:) –
只要它的工作现在重要,休息是历史:D –