0

dremel にリンクされたテーブルが 3 つあります。2 つの ID テーブルと、2 つの ID テーブルを接続する 1 つのテーブルです。

テーブル A (4500 行):

  • a_id (キー);
  • a_attr1;
  • a_attr2.

表 B (1500 行):

  • b_id (キー);
  • b_attr1;
  • b_attr2.

表 C (700 行):

  • 援助;
  • 入札。

単純化されたクエリは次のとおりです。

    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 は、結合クエリの左端のテーブルとして表示される必要があります。

エラーメッセージに従ってクエリを書き直し、テーブルを交換しようとしましたが、最も右側のテーブルについて同じメッセージが表示されます。

失敗の原因とクエリの修正方法についてアドバイスをいただければ幸いです。

4

1 に答える 1

0

それは解決され、クエリは再び機能しています。誰かが興味を持っている場合はJOIN [dataspace_name]:[project_name]:[dataset_name].CJOIN EACH [dataspace_name]:[project_name]:[dataset_name].C

于 2013-05-31T20:48:09.133 に答える