2017-07-10 8 views
0

にIN句書くこと別の方法は、GQLで、クエリの下に書くためにどのようにGQL

選択*テストからWHERE sent_datetime DESCにより、(1,7,8)の順序で蓋= 1234とステータス

上記のクエリを実行中の例外:GQL query error: Encountered "IN" at line 1, column 46. Was expecting one of: "contains", "has", "is", "=", "<", "<=", ">", ">=", ".", "("

すべての列のインデックスが作成されます。

おかげ

答えて

2

INは、いくつかのクライアントライブラリの機能であり、厳密にサーバーのGQL言語の一部ではありません。 IN句の値ごとにクエリを発行し、結果を除外することによって、クライアントライブラリがこの機能をエミュレートするのと同じことを実行できます。

ので、この:

select * from test WHERE lid=1234 AND status IN (1,7,8) order by sent_datetime DESC 

はこれらになる:

select * from test WHERE lid=1234 AND status = 1 order by sent_datetime DESC 
select * from test WHERE lid=1234 AND status = 7 order by sent_datetime DESC 
select * from test WHERE lid=1234 AND status = 8 order by sent_datetime DESC 
関連する問題