如何解决联合所有两个表而不是加入
我有几个表我无法加入它们,因为它变得非常复杂并且 bigquery 无法处理它。所以我试图联合所有表,然后分组。我在这个过程中遇到了问题。我有两个名为 t1 和 t2 的表,带有以下标题,它们没有空值:
a. b. c. d. a. b. c. e.
WITH
all_tables_unioned AS (
SELECT
*,NULL e
FROM
`t1`
UNION ALL
SELECT
*,NULL d
FROM
`t2` )
SELECT
a,b,c,MAX(d) AS d,MAX(e) AS e
FROM
all_tables_unioned
GROUP BY
a,c
不幸的是,当我运行它时,我得到一个表 a,d,e,其中 e 列全为空! 我尝试在 union all 之前对每个表运行查询,以确保它们不为空。我真的不知道我的查询有什么问题。
解决方法
union all
不使用 列 名称。只需明确列出所有列:
WITH all_tables_unioned AS (
SELECT a,b,c,d,NULL as e
FROM `t1`
UNION ALL
SELECT a,NULL as d,e
FROM `t2`
)
无论您分配什么名称,union all
都会使用位置来匹配列。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。