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