BigQueryのLegacy SQLで動作するクエリがあります。標準SQLでどのように記述すれば動作するのですか?BigQueryの標準SQLにLEFT JOINを書き込む方法は?
SELECT Hour, Average, L.Key AS Key FROM
(SELECT 1 AS Key, *
FROM test.table_L AS L)
LEFT JOIN
(SELECT 1 AS Key, Avg(Total) AS Average
FROM test.table_R) AS R
ON L.Key = R.Key ORDER BY Hour ASC
現在のところ、それが与えるエラーです:レガシーSQLと標準SQL:
Equality is not defined for arguments of type ARRAY<INT64> at [4:74]
BigQueryのクエリのための2つのモードがあります。 BigQuery Standard SQL documentationを見てきました.BigQueryの標準SQL結合ではone SO answerと表示されていますが、これまでのところ重要な変更が必要であるかどうかは不明です。
Table_Lは次のようになります。希望
Row Value
1 10
2 20
3 30
結果::
Row Hour Average(OfR) Key
1 A 20 1
2 B 20 1
3 C 20 1
どのように我々が動作するように、このBigQueryのレガシーSQLクエリを書き直すん
Row Hour
1 A
2 B
3 C
Table_Rはこのようになります標準SQL?
このクエリを行うには何をしたいですか - バージョン
またはLEFT以下は(どういうわけか、私は真であると感じ、あなたのロジックのための非常に重要なキーがあればケースに)関与する重要な場とバージョンを登録しようか! 'key'が' table_L'の列でない限り、どちらのバージョンでも動作しません。 –
は、従来のSQLで動作するクエリを表示するので、標準SQLで動作するバージョンを手助けすることができます –
@MikhailBerlyantリストされたレガシーSQLで動作するクエリは既に表示されています。これは、標準SQLで使用されているときにエラーを表示するもので、これも表示されます。あなたの質問には – Praxiteles