2016-04-06 8 views
0

Bu sorguyu GAE GQL'de çalıştırmak istiyorum. Burada innner sorgusu, "id" olarak Google App Engine Veri Deposu'nda NOT IN deyimi nasıl kullanılır?

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

GAE tarafından oluşturulan tamsayı türüdür.
ama bu hatayı GQL query error: Encountered "not" at line 1, column 49. Was expecting one of: "contains" ... "has" ... "is" ... "=" ... "<" ... "<=" ... ">" ... ">=" ... "." ... "(" .

veriyor nasıl doğru sorgu yapabilirsiniz?

cevap

0

Yapamazsınız. Google Datastore ve GQL, ne NOT IN sorgusunu ne de alt sorguları desteklemez.

başvuru için GQL gramer bulunmaktadir: https://cloud.google.com/datastore/docs/apis/gql/gql_reference#grammar

+0

herhangi alternatif bunun için var? –

+0

Sanırım birkaç bağımsız sorguya bölebilirsiniz. Birincisi 'masterContentTypes'ds, daha sonra tüm' Content' ile farklı 'masterContentTypeId' ve bu iki listeyi kodunuzda karşılaştırın. Veya tüm 'İçerik' tablosunu yineleyebilirsiniz. –

+0

Bana yardım edebilir misin? GQL'de "MasterContentType'dan id seçin" sorgusunu çalıştırırsam, neden "id" sütun olarak tanınmadı. Bu sütun, anahtar olarak tablodaki "Kimlik/Ad" olarak gösterilir ve "'dan" select * çalıştırırsam iyi çalışır. Sorguyu kullanarak yalnızca Id sütununu nasıl görüntüleyebilirim? –