我正在尝试结合3个以上的NOAA GSOD数据表,以将数据汇总到一个超级表中。我正在尝试将stations表联接到结果数据上,然后按国家/地区进行过滤。

我已经可以只用一张桌子来做,而不能用更多的桌子来做。下面是我尝试修改代码以实现此目的的尝试。我尝试了几种不同的修改,均未成功:(

SELECT * FROM [bigquery-public-data:noaa_gsod.gsod2016] AS gsod2016,
[bigquery-public-data:noaa_gsod.gsod2015] AS gsod2015 JOIN [bigquery-public-
data:noaa_gsod.stations] AS stations ON gsod2016.stn = stations.USAF AND
gsod2015.stn = stations.USAF WHERE stations.country = "CB"


NOAA GSOD bigquery数据:
https://bigquery.cloud.google.com/table/bigquery-public-data:noaa_gsod.gsod2016

最佳答案

使用1个标准的内部联接或,(最好是内部联接语法),并确保表的顺序正确,除非在ON上方定义了表,否则无法在表上进行联接。

SELECT *
FROM [bigquery-public-data:noaa_gsod.stations] AS stations
INNER JOIN [bigquery-public-data:noaa_gsod.gsod2016] AS gsod2016
  ON gsod2016.stn = stations.USAF
INNER JOIN [bigquery-public-data:noaa_gsod.gsod2015] AS gsod2015
  ON gsod2015.stn = stations.USAF
WHERE stations.country = "CB"


现在,所有这些都说明您是真的要加入会员还是要UNION ALL
数据并添加一年

10-08 00:13