Presto:将数组转换为行?



我有一个包含数组列all_available_tags和used_tags的表。

example row1: 
all_available_tags:A,B,C,D
used_tags:A,B
example row2: 
all_available_tags:B,C,D,E,F
used_tags:F

我想从所有行中获取不同的all_available_tags集,并且除了所有行中所有used_tags的集合之外。 从上面的例子来看,所有行的all_available_tags将是A,B,C,D,E,F,所有used_tags都是A,B,F。 我正在寻找的最终结果是 C,D,E

我想我需要以某种方式旋转表格,但可能有 100 个不同的标签,所以列出每个标签是不切实际的。 有没有好方法可以做到这一点?

你可以试试:

with tags(at, ut) as
( 
select "A,B,C,D", "A,B"
union all
select "B,C,D,E,F", "F"
)
select splitat
from tags
cross join unnest(split(at, ",")) as t1 splitat
except
select splitut
from tags
cross join unnest(split(ut, ",")) as t2 splitut

相关内容

  • 没有找到相关文章

最新更新