INNER JOIN语法错误

时间:2017-10-06 09:56:42

标签: sql google-bigquery

我想加入2个数据库。

  • 1数据库是keyword_data(关键字映射)
  • 1个数据库充满了谷歌排名和其他指标

不知怎的,我无法加入这两个数据库。

某些背景信息:

数据集名称:可见性

表1

keyword_data

VALUES

  • 关键字
  • 宇宙
  • 类别
  • search_volume
  • 中共

数据集名称:可见性

表2

结果

VALUES

  • 日期
  • 关键字
  • 网站
  • 位置

为了按日期接收排名数据,我编写了以下SQL行。

SELECT Date, Position, Website FROM `visibility.results` Keyword INNER
JOIN `visibility.keyword_data` keyword ON `visibility.results` Keyword
= `visibility.keyword_data` keyword GROUP BY Date;

(除此之外,其他100条线路没有成功;-))

我正在使用Google BigQuery标准SQL(未经检查的旧版SQL)。

如何加入这2个数据表?

2 个答案:

答案 0 :(得分:2)

你对SQL有多熟悉?我认为你正在使用别名错误,这样的事情应该可行

SELECT r.Date, r.Position, r.Website
FROM `visibility.results` AS r
INNER JOIN `visibility.keyword_data` AS k
ON r.Keyword = k.keyword
GROUP BY DATE

答案 1 :(得分:0)

首先,我从未使用Google大查询,但我认为这个查询存在一些错误。

首先,通过包含表的名称来连接表,然后提供表连接的键。此外,如果您不在select语句中使用聚合函数(MIN / MAX等),则还必须在group by子句中包含所有值。在参考中,我可以为您提供一个解决方案,如果您使用Microsoft SQL Server可以提供任何帮助,因为如果您引用here语法非常相似。

SELECT  results.Date AS DATE, 
       ,results.Position AS POSITION
       ,results.Website AS WEBSITE
FROM visibility.dbo.keyword_data AS keyword_data  
INNER JOIN visibility.dbo.results AS results 
ON results.keyword = keyword_data.keyword
GROUP BY results.Date
        ,results.Position
        ,results.Website