2017-07-10 3 views
0

Comment écrire ci-dessous requête dans GQLfaçon alternative d'écrire dans la clause de GQL

select * from test où lid = 1234 et leur statut (1,7,8) par ordre sent_datetime DESC

Exception lors de l'exécution de la requête ci-dessus: GQL query error: Encountered "IN" at line 1, column 46. Was expecting one of: "contains", "has", "is", "=", "<", "<=", ">", ">=", ".", "("

Toutes les colonnes sont indexées.

Merci

Répondre

2

IN est une caractéristique de certaines bibliothèques clientes et ne sont pas strictement partie de la langue GQL du serveur. Vous pouvez faire la même chose que les bibliothèques client pour émuler cette fonctionnalité en émettant une requête pour chaque valeur dans la clause IN et les résultats de dédoublement.

donc ceci:

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

Ne serait-ce devenu:

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