Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 大查询SQL。组合具有相同列的表(无主键)_Mysql_Sql - Fatal编程技术网

Mysql 大查询SQL。组合具有相同列的表(无主键)

Mysql 大查询SQL。组合具有相同列的表(无主键),mysql,sql,Mysql,Sql,我正在尝试将3+NOAA GSOD数据表合并在一个超级表中。我试图将stations表加入到结果数据中,然后按国家过滤 我已经能够做到这一点,只有一个表,但不能为更多。下面是我为实现这一点而修改代码的尝试。我尝试了几种不同的修改,但没有成功:( NOAA GSOD bigquery数据: 使用1个标准的内部联接或(最好是内部联接语法),并确保表的顺序正确,否则不能在表上联接,除非在表的上方定义了 SELECT * FROM [bigquery-public-data:noaa_gsod.sta

我正在尝试将3+NOAA GSOD数据表合并在一个超级表中。我试图将stations表加入到结果数据中,然后按国家过滤

我已经能够做到这一点,只有一个表,但不能为更多。下面是我为实现这一点而修改代码的尝试。我尝试了几种不同的修改,但没有成功:(

NOAA GSOD bigquery数据:

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

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"
所有这些都说明了你是真的想加入还是想
联合所有人

数据和添加年份

你需要一个连接还是一个联合?也不要混合连接符号选择一个标准,要么使用,要么使用符号,要么使用内部连接,而不是两者都使用。顺序问题…除非它是按顺序自上而下定义的,否则不能在上面连接。我不完全确定你所说的符号或内部连接是什么意思。上面的代码作为一行工作。例如。从[bigquery公共数据:noaa_gsod.gsod2016]中选择*作为gsod2016加入[bigquery公共数据:noaa_gsod.stations]作为gsod2016.stn=stations.USAF WHERE stations.country=“CB”gsod2016后面有一个逗号。当与
join
结合使用时,这是非标准的联接语法。嗨,xQbert,这似乎遇到了一个无限查询。是的,我相信我确实需要联合。虽然BigQuery似乎不识别该代码。联合说它受支持…每个表的所有列都是相同的数据类型吗?y您可以单独选择每个字段/列,而不是使用*?看起来它是受支持的。不确定为什么这会是一个无限查询:stn和usaf的索引在各自的表中?国家/地区在站点中?您只需要知道这是可能的,而不是技术限制。您做了艰苦的工作:P
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"