0

我有一个项目表,其中两列分别为“语言”和“标签”。

用户给出一个 后input,我想输出所有languageisinputtagis的项目input

上面的 Sql 查询是这样的,

sql查询:Select * from TableName where language='input' OR tag='input'

我试图在 Gql 中执行相同的操作,但徒劳无功。以上述方式输出数据的 Gql 中的查询应该是什么。

4

2 回答 2

1

GQL 没有OR,所以基本上你必须进行两个单独的查询和联合结果:

Select * from TableName where language='input'
Select * from TableName where tag='input'

您应该在应用端加入结果,Cloud Console 也不支持此类内容。

请参阅 GQL 参考:https ://cloud.google.com/datastore/docs/apis/gql/gql_reference

于 2015-11-10T06:25:11.193 回答
1

我不知道你是否必须使用 GQL,但如果你能够避免它,你可以使用 ndb 过滤器来代替。

results = TableName.query(ndb.OR(TableName.language == 'input',
                       TableName.tag == 'input'))
for result in results: 
    ....your code here...

更多信息:https ://cloud.google.com/appengine/docs/python/ndb/queries

于 2015-11-10T16:05:34.200 回答