2016-04-06 25 views
0

GAEのGQLでこのクエリを実行します。Google App EngineデータストアでNOT IN句を使用する方法

select * from Content where masterContentTypeId not in (select id from MasterContentType) 

ここで中わたクエリにおいて、 "ID" はGAEによって生成され、整数型です。
が、それは誤りGQL query error: Encountered "not" at line 1, column 49. Was expecting one of: "contains" ... "has" ... "is" ... "=" ... "<" ... "<=" ... ">" ... ">=" ... "." ... "(" .

を与えているにはどうすれば正しいクエリを行うことができますか?

答えて

0

できません。 Google DatastoreとGQLは、NOT INクエリもサブクエリもサポートしていません。

参考のためにGQL文法があります:https://cloud.google.com/datastore/docs/apis/gql/gql_reference#grammar

+0

これに代わる方法はありますか? –

+0

私はいくつかの独立したクエリに分割することができると思います。 1つは 'masterContentTypes' IDを取得し、次に' MasterContentTypeId'を持つ 'Content'をすべて取り出し、コード内のこの2つのリストを比較します。あるいは、 'Content'テーブル全体を反復することもできます。 –

+0

ここでお手伝いできますか? GQLで "select id from MasterContentType"というクエリを実行すると、 "id"が列として認識されないのはなぜですか。この列はキーのようにテーブルの "ID/Name"として表示され、 "select * from "を実行すると正常に動作します。クエリを使用してID列のみを表示するにはどうすればよいですか? –

関連する問題