有没有办法在 BigQuery 标准 SQL 中添加连接表名?

2024-04-14

我想知道是否可以强制标准 SQL 在连接表名前面加上前缀,以便我可以从 a 和 b 中获取带有 a_ 和 b_ 前缀的所有字段,而无需手动命名每个字段。 IE。我想做一个SELECT *,我不想生成每个字段名。

我知道如果您从旧版 SQL 切换到标准 SQL,

SELECT *
FROM first_table a
JOIN second_table b
ON a.key = b.key

不会自动将 a_ 和 b_ 添加到每个输出变量中,如本问题所述:如何删除/避免 bigquery 中前置的表名? https://stackoverflow.com/questions/40040524/how-to-remove-avoid-prepended-tablename-in-bigquery但我想知道这种行为是否可以改变。


唯一的选择是使用点“分隔”名称,即返回一个包含每一侧的列的结构:

SELECT a, b
FROM first_table a
JOIN second_table b
ON a.key = b.key;

如果您只需要每个表中的某些列,则可以使用子选择:

SELECT a, b
FROM (SELECT x, y, key FROM first_table) a
JOIN (SELECT foo, bar, key FROM second_table) b
ON a.key = b.key;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在 BigQuery 标准 SQL 中添加连接表名? 的相关文章

随机推荐