如何在通配符查询的结果中包括表名?

时间:2019-06-17 17:30:31

标签: google-cloud-platform google-bigquery

我正在使用wildcard query在bigquery中查询一堆表。我希望每个结果行都能显示它来自哪个表。

我尝试将_TABLE_SUFFIX包含在选择中,但不会编译:

SELECT _TABLE_SUFFIX, *
FROM `foo.bar_*`
WHERE x = ...
  

无效的字段名称“ _TABLE_SUFFIX”

1 个答案:

答案 0 :(得分:1)

使用别名,如下面的示例

SELECT _TABLE_SUFFIX as table_name, *    
FROM `foo.bar_*`
WHERE x = ...

您还可以在下面使用它来保留完整的表名

SELECT CONCAT('bar_', _TABLE_SUFFIX) as table_name, *    
FROM `foo.bar_*`
WHERE x = ...

还请注意:字段名称不允许以(不区分大小写)前缀_PARTITION, TABLE FILE 和_ROW_TIMESTAMP

开头