2
我正在運行下面的查詢。 (& &)運算符用於過濾任何重疊數組元素的結果集,並且如果我有一個非空數組,但是在空數組的情況下結果集是空的,可以推理出來但可以爲空在這種情況下,數組被視爲通用集合,可能類似array && ({*}::int[])
我想知道是否有像這樣的解決方法。postgres數組重疊操作符(&&)在空數組的情況下
select pm.id,
sum(c.density) as score
from
metadata pm,
unnest(pm.dimen_one_id::int[], pm.dimen_one_density::float[]) as c(id, density)
where
c.id = any('{1}'::int[])
group by
pm.pin_id,
pm.dimen_one_id,
pm.dimen_two_id,
pm.dimen_three_id
having
pm.dimen_two_id && '{36,37,38}'::int[] and
pm.dimen_three_id && '{23}'::int[]
order by
score desc
limit
10
offset
0