【问题标题】:Google BigQuery "WHERE (Key1,Key2) IN ( (12,34), (56,78) )" STRUCT comparison for comparison expressions using multi-part keysGoogle BigQuery "WHERE (Key1,Key2) IN ( (12,34), (56,78) )" STRUCT 比较,用于使用多部分键的比较表达式
【发布时间】:2016-10-27 12:50:07
【问题描述】:

https://cloud.google.com/bigquery/sql-reference/data-types

正如文档所述,以下语法应该有效: 此语法也可以与 STRUCT 比较一起使用,用于使用多部分键的比较表达式,

例如在 WHERE 子句中: WHERE (Key1,Key2) IN ( (12,34), (56,78) )

我正在尝试相同的查询,但出现语法错误:

选择 a、b FROM some_table WHERE (a, b) IN ((11332728, 126), (12312, 3131));

“在第 3 行第 10 列遇到“”、“”、“”。期待:“)”..”

你用过这个吗?可以举个例子吗?

【问题讨论】:

  • 计数( 和计数)。同一个号码?
  • 对不起,我修好了。在我的真实例子中,我数过了,它们看起来都很好
  • 似乎文档领先于产品...(您的语法是有效的 ANSI SQL。)
  • @onedaywhen,是的,我知道这是一个 ISO 标准 (ISO/IEC 9075),但似乎大多数人和产品仍然将其称为 ANSI SQL。而且,是的,不是 2,这种语法是在 SQL-99 中引入的。

标签: sql database google-bigquery


【解决方案1】:

在运行查询之前,请确保 enable standard SQL 查询。根据错误消息,您可能正在使用旧版 SQL。

【讨论】:

    猜你喜欢
    • 2019-11-28
    • 2017-03-01
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多