IZ
Size: a a a
IZ
NB
IZ
id  |     array_cat     
-----+-------------------
 208 | {f,f,f,f}
 210 | {NULL,f}
 212 | {f,f,f,f,f,f,f,f}
 223 | {NULL,NULL,f,f}
 228 | {NULL,f}
 230 | {NULL,f}
 232 | {f,f,f,f}
 234 | {f,f}
 249 | {f,f}
 250 | {f,f,f,f}
 255 | {NULL,f}
 279 | {f,NULL}
 286 | {f,NULL}
 311 | {f,NULL}
 313 | {f,f,NULL,NULL}
 317 | {f,NULL}
(16 rows)NB
NB
NB
NB
IZ
IZ
IZ
IZ
IZ
select
n.*,
from
n
left join x on x.n_id = n.id
left join y on y.n_id = n.id
group by n.id
having (true = all (
select unnest(
array_cat(array_agg(x.active), array_agg(y.active))
) is null)) or
(array_cat(
array_agg(x.active), array_agg(y.active)
) @> ARRAY[false]::bool[] and not
array_cat(
array_agg(x.active), array_agg(y.active)
) @> ARRAY[true]::bool[])
IZ
true = all (
            select unnest(
              array_cat(array_agg(x.active), array_agg(y.active))
            ) is null)DA
IP
IP
DA
DA
DM
IP