感谢答复。
生产中的计算场景如下,在某个子查询为空的情况下,无法求得并集。
with a as (select bitmap_union(to_bitmap(uid)) as bit_col from db_name.t1_name where value = 0)
, b as (select bitmap_union(to_bitmap(uid)) as bit_col from db_name.t2_name where value in ('value_1','value_2'))
select bitmap_or(a.bit_col,b.bit_col) as bit_col
from a,b;
按照刚刚的纠正,修改sql后可以计算出结果,想问问还有没有更好的建议,感谢感谢
with a as (select if(bitmap_union_count(to_bitmap(uid)) = 0, bitmap_empty(), bitmap_union(to_bitmap(uid))) as bit_col from db_name.t1_name where value = 0)
, b as (select if(bitmap_union_count(to_bitmap(uid)) = 0, bitmap_empty(), bitmap_union(to_bitmap(uid))) as bit_col from db_name.t2_name where value in ('value_1','value_2'))
select bitmap_or(a.bit_col,b.bit_col) as bit_col
from a,b;