当FROM部分包含具有相同命名字段的表时,从bigquery中的表中提取特定字段

时间:2016-06-15 20:42:04

标签: google-bigquery

我试图前往

Picture.objects.filter(user_ID=user)

我已经尝试了

SELECT
field1, --comes from table A
field2, --comes from table B
field3, --I want to grab this from table A, but table B has an identically named field
FROM
[datasetName.tableA],
[datasetName.tableB],

但是会产生错误

SELECT
t1.field1, --comes from table A
t2.field2, --comes from table B
t1.field3, --I want to grab this from table A, but table B has an identically named field
FROM
[datasetName.tableA] t1,
[datasetName.tableB] t2,

我不确定处理此问题的最佳方法。我可以在select语句中添加第二个级别,以便结构类似于

Incompatible types. 'duration' : TYPE_DOUBLE 'duration' : TYPE_INT64

但是因为我使用的实际查询比这个玩具示例复杂得多,所以这对于代码可读性来说并不是最佳的。有没有人有任何建议?

谢谢, 布拉德

1 个答案:

答案 0 :(得分:1)

你很可能想做JOIN和UNION(注意:在BigQuery Legacy SQL中 - 逗号表示UNION ALL)

尝试下面的方法

SELECT
  t1.field1 AS field1,
  t2.field2 AS field2,
  t1.field3 AS field3
FROM [datasetName.tableA] t1
JOIN [datasetName.tableB] t2
ON t1.somefield = t2.anotherfield

确保使用相应表格中的实际字段替换somefield和anotherfield