尝试在BigQuery中查询多个表时列名不明确

时间:2019-04-10 22:58:11

标签: google-bigquery

我想查询多个表,所有表都以相同的顺序具有相同的列名,然后合并结果。

'

当我运行此BigQuery时,出现以下错误。

SELECT SUBSTR(arrest_date, 0, 4) arrest_year, * FROM `OBTS.circuit11`, `OBTS.circuit15`, `OBTS.circuit17`, `OBTS.circuit19` WHERE init_statute LIKE '%3%22%32%' OR init_statute LIKE '%3%22%34%' OR LOWER(init_charge_descrip) LIKE '%suspend%';

如何查询这些表并将所有结果行合并为一组结果?

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找UNION ALL vs CROSS JOIN(注意:BigQuery Standard SQL中的逗号用于表达CROSS JOIN)

因此,您最有可能在下面找到

SELECT SUBSTR(arrest_date, 0, 4) arrest_year, * 
FROM (
  SELECT * FROM `OBTS.circuit11` UNION ALL
  SELECT * FROM `OBTS.circuit15` UNION ALL
  SELECT * FROM `OBTS.circuit17` UNION ALL
  SELECT * FROM `OBTS.circuit19`
)
WHERE 
  init_statute LIKE '%3%22%32%' OR
  init_statute LIKE '%3%22%34%' OR
  LOWER(init_charge_descrip) LIKE '%suspend%'