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 は、結合クエリの左端のテーブルとして表示される必要があります。
エラーメッセージに従ってクエリを書き直し、テーブルを交換しようとしましたが、最も右側のテーブルについて同じメッセージが表示されます。
失敗の原因とクエリの修正方法についてアドバイスをいただければ幸いです。