【发布时间】:2019-10-02 02:50:14
【问题描述】:
假设在每一行中我有一个 id 和两个数组 array_1 和 array_2,如下所示
SELECT 'a' id, [1,2,3,4,5] array_1, [2,2,2,3,6] array_2 UNION ALL
SELECT 'b', [2,3,4,5,6], [7,7,8,6,9] UNION ALL
SELECT 'c', [], [1,4,5]
我想连接这两个数组,并且只保留新数组中的唯一元素。我想要的输出如下所示
+----+-----------+-----------+-----------------------------+
| id | array_1 | array_2 | concatenated_array_distinct |
+----+-----------+-----------+-----------------------------+
| a | 1,2,3,4,5 | 2,2,2,3,6 | 1,2,3,4,5,6 |
| b | 2,3,4,5,6 | 7,7,8,6,9 | 2,3,4,5,6,7,8,9 |
| c | | 1,4,5 | 1,4,5 |
+----+-----------+-----------+-----------------------------+
我试图使用array_concat 函数,但我找不到使用array_concat 函数来保留不同元素的方法。
有没有我可以得到想要的输出?
【问题讨论】:
标签: sql google-bigquery