如何在 bigquery 中动态连接表以避免公共列重复
how to dynamically join tables in bigquery to avoid duplication of common columns
我有 2 个 table 有很多列(每个都有大约 700-800 列,这使得单独写所有列名不可行)。 table 都有一些共同的行。我需要动态合并两个 table,这样公共列就不会重复,并且在最后的 table 中只被查询一次。例如:
TABLE 1:
+---------+--------+------+-------+
|firstname|lastname|upload|product|
+---------+--------+------+-------+
| alice| a| 100|apple |
| bob| b| 23|orange |
+---------+--------+------+-------+
TABLE 2:
+---------+--------+------+-------+
|firstname|lastname|books |active |
+---------+--------+------+-------+
| alice| a| 10 |yes |
| bob| b| 2 |no |
+---------+--------+------+-------+
决赛 TABLE:
+---------+--------+------+-------+-----+------+
|firstname|lastname|upload|product|books|active|
+---------+--------+------+-------+-----+------+
| alice| a| 100|apple | 10 | yes |
| bob| b| 23|orange | 2 | no |
+---------+--------+------+-------+-----+------+
只是给你一个研究的方向
select *
from table1
join table2
using(firstname, lastname)
如果应用于您问题中的示例数据 - 输出为
我有 2 个 table 有很多列(每个都有大约 700-800 列,这使得单独写所有列名不可行)。 table 都有一些共同的行。我需要动态合并两个 table,这样公共列就不会重复,并且在最后的 table 中只被查询一次。例如:
TABLE 1:
+---------+--------+------+-------+
|firstname|lastname|upload|product|
+---------+--------+------+-------+
| alice| a| 100|apple |
| bob| b| 23|orange |
+---------+--------+------+-------+
TABLE 2:
+---------+--------+------+-------+
|firstname|lastname|books |active |
+---------+--------+------+-------+
| alice| a| 10 |yes |
| bob| b| 2 |no |
+---------+--------+------+-------+
决赛 TABLE:
+---------+--------+------+-------+-----+------+
|firstname|lastname|upload|product|books|active|
+---------+--------+------+-------+-----+------+
| alice| a| 100|apple | 10 | yes |
| bob| b| 23|orange | 2 | no |
+---------+--------+------+-------+-----+------+
只是给你一个研究的方向
select *
from table1
join table2
using(firstname, lastname)
如果应用于您问题中的示例数据 - 输出为