参照具体表

时间:2018-07-08 08:57:30

标签: sql google-bigquery

我目前正在学习bigquery,并且在训练一些公共数据集时遇到了问题。

SELECT * FROM [bigquery-public-data:github_repos.languages]  CROSS JOIN UNNEST(language)  

我正在尝试分离他们的语言数据,但我不断收到错误消息

  

表名“语言”无法解析:缺少数据集名称。

您如何精确地引用BigQuery中的特定表?

2 个答案:

答案 0 :(得分:4)

您使用的是旧版SQL,但您还使用的是UNNEST,它专用于标准SQL。尝试以下方法:

<div class="wrap">

  <input type="checkbox" name="cont">
  <input type="checkbox" name="controllers">

  <aside>
    <label class="check1cont" for="check1cont">Check 1</label>
    <label class="check2cont" for="check2cont">Check 2</label>
  </aside>

  <main>
    <figure class="checker check1">CHECK 1</figure>
    <figure class="checker check2">CHECK 2</figure>
  </main>
</div>

在开发要运行的查询的过程中,为降低成本,尝试在示例GitHub表(而不是真实的GitHub表)上运行它是一个好主意。

答案 1 :(得分:2)

您正在使用旧的legacy SQL方言运行查询。明确表明您正在使用旧格式是指使用以下格式的表:

[project-name:dataset-name.table-name]

您需要使用新的standard SQL方言来运行查询,因为它使用的是unnest命令。要将旧查询转换为标准查询,请将#standardSQL添加到查询的第一行,并使用以下格式引用表:

`project-name.dataset-name.table-name`

因此,在您的情况下,查询将变为:

#standardSQL
SELECT * 
FROM `bigquery-public-data.github_repos.languages` 
CROSS JOIN UNNEST(language)