我想编写一个大查询以从给定数据集中的多个表中获取列中的值。但是每个表中的列名都不同,例如colA,colB,colC等。如何做到这一点?
我的数据集中有很多表,其中一列包含Web URL。但是,此列名在每个表中都不同。我要处理所有表的所有URL。
我检查了此链接How to combine multiple tables that vary slightly in columns。但是,它讨论的是有限数量的列名变体和有限数量的表。
我知道
SELECT
column_name
FROM
`bq-project.bq-dataset.INFORMATION_SCHEMA.COLUMNS`
group by 1
将给出不同的列,但不确定如何进行
答案 0 :(得分:0)
您可以创建一个视图以翻译列名。
CREATE VIEW my_dataset.aggregated_tables AS
SELECT * EXCEPT (colA), colA as url FROM table_a
UNION
SELECT * EXCEPT (colB), colB as url FROM table_b
UNION
SELECT * EXCEPT (colC), colC as url FROM table_c;
答案 1 :(得分:0)