BQ - 从其他数组中删除数组

问题描述 投票:0回答:1

我有一个像这样的简单查询。

select 
       array_agg (....) as A,
       array_agg (....) as B
from
       ....

结果包含

A: [1, 2, 3, 4],
B: [1, 2, 3, 5]

我需要 A 中没有的“B”。

A: [1, 2, 3, 4],
B: [5]

有什么功能可以利用吗?

google-bigquery
1个回答
0
投票

使用以下方法

select *, array(
  select _b
  from unnest(B) as _b
  where not _b in unnest(A)
) as B_minus_A
from current_result    

© www.soinside.com 2019 - 2024. All rights reserved.