2017-03-21 14 views
0

私は別の列に解析する必要があるさまざまな種類の情報を保持する列(値)を持つテーブルを持っています。Postgresql to BigQuery - XとYの左結合

SELECT m1.value shipname 
    , m2.value agent 
FROM maritimeDB m1 
JOIN maritimeDB m2 
    ON m1.rowID = m2.rowID 
    AND m2.itemname = 'Agent' 
WHERE m1.rowID 
    IN (SELECT DISTINCT rowID FROM maritimeDB WHERE entity='9999') 
    AND m1.itemname='shipname' 

私は(LEFT JOINをになってJOINによる)にBigQueryにクエリのこの同じ種類をしたいが、私はこのエラーを取得: エラー:ON句があることの必要があるPostgreSQLで、私は簡単にこれを行うことができます=各テーブルから1つのフィールド名を比較し、すべてのフィールド名にテーブル名を前置します。

提案がありますか?

+0

「LEFT JOIN」と言うが、あなたの質問は「JOIN」と言う。 –

+0

ありがとう。私はそれをより理解しやすくするためにWHERE節に追加しました。 – TRevs

+0

元のSQLクエリがpostgresqlからのものであるため、JOINがあります。 LEFT JOIN文を使用してBigQueryを書き直そうとしていますが、エラーメッセージが表示されています。 – TRevs

答えて

0

このエラーは、レガシーSQLダイアレクト(デフォルト)から発生しています。このクエリは任意のJOIN述語をサポートするStandard SQL方言で動作するはずです。

+1

はい、ありがとうございます。これが答えでした。私はテーブル構文を再フォーマットしなければならなかったが、それは問題を解決した。 – TRevs