如何选择_TABLE_SUFFIX等来区分数据

时间:2019-05-22 21:29:29

标签: google-bigquery

使用UNION ALL查询多个表,并且各个表都没有一个区分每个表中数据的字段,因此,想法是用表名或其他标识符填充一个字段,以便根据以下内容区分数据它源自哪个表。

选择_TABLE_SUFFIX

选择   发布日期,   Entry_No_,   文件号码_,   G_L_Account_No_,   Global_Dimension_1_Code,   Global_Dimension_2_Code,   描述,   量 从   1_G_L_Entry   哪里   张贴日期>'2019-03-31'   AND G_L_Account_No_>'399999' 全联盟 选择   发布日期,   Entry_No_,   文件号码_,   G_L_Account_No_,   Global_Dimension_1_Code,   Global_Dimension_2_Code,   描述,   量 从   2_G_L_Entry   哪里   张贴日期>'2019-03-31'   AND G_L_Account_No_>'399999' 全联盟 选择   发布日期,   Entry_No_,   文件号码_,   G_L_Account_No_,   Global_Dimension_1_Code,   Global_Dimension_2_Code,   描述,   量 从   3_G_L_Entry   哪里   张贴日期>'2019-03-31'   AND G_L_Account_No_>'399999' 全联盟 选择   发布日期,   Entry_No_,   文件号码_,   G_L_Account_No_,   Global_Dimension_1_Code,   Global_Dimension_2_Code,   描述,   量 从   4_G_L_Entry   哪里   张贴日期>'2019-03-31'   AND G_L_Account_No_>'399999' 全联盟 选择   发布日期,   Entry_No_,   文件号码_,   G_L_Account_No_,   Global_Dimension_1_Code,   Global_Dimension_2_Code,   描述,   量 从   5_G_L_Entry   哪里   张贴日期>'2019-03-31'   AND G_L_Account_No_>'399999' 全联盟 选择   发布日期,   Entry_No_,   文件号码_,   G_L_Account_No_,   Global_Dimension_1_Code,   Global_Dimension_2_Code,   描述,   量 从   7_G_L_Entry   哪里   张贴日期>'2019-03-31'   AND G_L_Account_No_>'399999' 全联盟 选择   发布日期,   Entry_No_,   文件号码_,   G_L_Account_No_,   Global_Dimension_1_Code,   Global_Dimension_2_Code,   描述,   量 从   8_G_L_Entry   哪里   张贴日期>'2019-03-31'   AND G_L_Account_No_>'399999' 订购   Entry_No_ ASC

从查询的每个表或其他方法中选择表名称以区分数据...

1 个答案:

答案 0 :(得分:2)

_table_suffix仅在扩展*时起作用:

SELECT _table_suffix suffix, COUNT(*) c
FROM `fh-bigquery.stackoverflow_archive_questions.q*`
GROUP BY 1 
ORDER BY 1 DESC 

enter image description here

但是在进行UNION时,您需要手动“标记”每个表:

SELECT table, COUNT(*) c
FROM (
  SELECT *, '201703' table
  FROM `fh-bigquery.stackoverflow_archive_questions.q201703` 
  UNION ALL
  SELECT *, '201706' table
  FROM `fh-bigquery.stackoverflow_archive_questions.q201706` 
  UNION ALL
  SELECT *, '201709' table
  FROM `fh-bigquery.stackoverflow_archive_questions.q201709` 
)
GROUP BY 1 
ORDER BY 1 DESC 

enter image description here