それぞれ 57,191 行の 2 つのテーブルを結合しようとしています。BigQ は、内側/左側の大きなテーブルと右側の小さなテーブルを探しています。左側のテーブル B で実行すると、「大きなテーブル A が最初に表示される必要があります」というエラーが表示されます。クエリを切り替えてテーブル A を From 句に入れると、「大きなテーブル B が最初に表示される必要があります」というエラーが表示されます。したがって、指示どおりに実行すると、修正されませんが、何らかの方法で失敗しない限り、最初の(間違った)試行が提案されます。
2 つのテーブルが同じサイズである場合、おそらく一方が他方よりも小さくないことに基づいて、一方が大きいと判断するのは少し皮肉なことです。テーブルの1つに無意味な行を追加し、結合が機能した後に削除しようとすることを含まない解決策を見つけようとしています(BigQは現在、単一行のcsvファイルをロードしていないため、私のミスでした。)
Google SQL構文の結合ルールは
"join_type Bigquery は、INNER (デフォルト) および LEFT OUTER 結合をサポートします。table_2 これは、結合の 2 番目のテーブルであり、小さい必要があり、FROM 句に表示されるテーブルに結合されます。これは、いずれかのテーブルであることに注意してください。 name または別の SELECT 句 (この場合、エイリアスを指定する必要があります) join_condition_1, ..., join_condition_N, ... 一連の結合条件 (行に対してすべてが満たされる必要がある等価条件のコレクションである必要があります) (つまり、これらの条件を AND で接続することのみをサポートしています。)"
私が実行している実際のSQLは
SELECT lt.activeprosperloans,[fieldsredacted], ...
FROM prosperloans1.listings2 AS lt
JOIN prosperloans1.zjoinedperfloans as ln
ON lt.key = listingkey;
実際のエラーは次のとおりです: エラー: 大きなテーブル prosperloans1.zjoinedperfloans は、結合クエリの左端のテーブルとして表示される必要があります
ありがとうショーン