【问题标题】:Query on dremel-linked tables stopped working对 dremel 链接表的查询停止工作
【发布时间】:2013-05-16 14:38:28
【问题描述】:

我有 3 个 dremel 链接表:2 个标识表和 1 个连接 2 个标识表的表。

表 A(4500 行):

  • a_id(密钥);
  • a_attr1;
  • a_attr2.

表 B(1500 行):

  • b_id(键);
  • b_attr1;
  • b_attr2.

表 C(700 行):

  • a_id;
  • b_id.

简化的查询是:

    SELECT
      A.a_id,
      a_attr1,
      GROUP_CONCAT(STRING(b_attr1)) AS b_attr1,
      STRFTIME_UTC_USEC(NOW(), '%a %e-%b-%Y %R %Z'),
      SUM(b_attr2) AS b_attr2
    FROM [dataspace_name]:[project_name]:[dataset_name].A
    LEFT OUTER JOIN
      (SELECT
         b_id,
         b_attr1,
         b_attr2,
         a_id
       FROM [dataspace_name]:[project_name]:[dataset_name].B
       JOIN [dataspace_name]:[project_name]:[dataset_name].C
         ON [dataspace_name]:[project_name]:[dataset_name].B.b_id = [dataspace_name]:{project_name]:[dataset_name].C.b_id
      ) AS BC
       ON A.a_id = BC.a_id
     WHERE
       a_attr2 = 1
     GROUP BY
       a_attr1
     HAVING
       (b_attr2 IS NULL) OR (b_attr2 > 0)
     ORDER BY
       a_attr1
     ;

这个查询运行了几个月,直到上周一,2013 年 5 月 13 日。

我得到的错误信息是:

大表 C 必须作为连接查询中最左边的表出现。

我尝试在错误消息之后重新编写查询并交换表,但我得到了关于最右侧表的相同消息。

非常感谢有关可能导致失败的原因以及如何修复查询的任何建议。

【问题讨论】:

  • 已解决,查询再次运行,如果有人感兴趣,可以通过将 "JOIN [dataspace_name]:[project_name]:[dataset_name].C" 替换为 "JOIN 每个 [dataspace_name]:[project_name]:[dataset_name].C"

标签: google-bigquery


【解决方案1】:

已解决,查询再次运行,如果有人感兴趣,可以通过将 JOIN [dataspace_name]:[project_name]:[dataset_name].C 替换为 JOIN EACH [dataspace_name]:[project_name]:[dataset_name].C 来完成

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2015-10-27
    • 1970-01-01
    相关资源
    最近更新 更多