Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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 如何查询名为“的列”;或;在BigQuery中?_Mysql_Sql_Google Bigquery - Fatal编程技术网

Mysql 如何查询名为“的列”;或;在BigQuery中?

Mysql 如何查询名为“的列”;或;在BigQuery中?,mysql,sql,google-bigquery,Mysql,Sql,Google Bigquery,不幸的是,我们有一个表,其中的列是用字段名“OR”编写的 如果我们试图查询这个表-“选择或从等”,我们会得到一个错误,因为或是一个保留字 如何使用BigQuery的遗留SQL查询查询该列?(我们需要这个专栏,而不是其他专栏。) 我们原以为可以使用“SELECT*”和BigQuery的“exclude”功能,但它不是遗留SQL的一部分,所以我们无法使用它。其他想法?我们找到了这个-除了你需要做一些额外的描述。您不能只在名称中添加括号,还需要给它一个新的列名 答案是这样询问: SELECT [OR]

不幸的是,我们有一个表,其中的列是用字段名“OR”编写的

如果我们试图查询这个表-“选择或从等”,我们会得到一个错误,因为或是一个保留字

如何使用BigQuery的遗留SQL查询查询该列?(我们需要这个专栏,而不是其他专栏。)

我们原以为可以使用“SELECT*”和BigQuery的“exclude”功能,但它不是遗留SQL的一部分,所以我们无法使用它。其他想法?

我们找到了这个-除了你需要做一些额外的描述。您不能只在名称中添加括号,还需要给它一个新的列名

答案是这样询问:

SELECT [OR] AS new_column_name FROM ...

我知道您正在使用遗留SQL寻找答案(您发现了一个使用括号语法的答案),但对于未来的读者,
等是中查询结果的有效列名。以下查询不会返回错误,例如:

WITH T AS (
  SELECT
    1 AS `or`,
    2 AS `and`
)
SELECT * FROM T;

我在查询黑客新闻数据集时遇到了这个问题。看来作者增加了一个“作者”栏。然而,很难进行查询和分析

我试过括号:

SELECT
   [by] as author_name
FROM
   `bigquery-public-data.hacker_news.full`
LIMIT
   1000
但收到以下错误:

Syntax error: Unexpected keyword BY at [2:4]
以下是一个使用标准SQL方言在BigQuery中处理黑客新闻数据集的查询:

SELECT
  b.by as author_name
FROM
  `bigquery-public-data.hacker_news.full` as b
LIMIT
  1000