这是我在这里发表的第一篇文章。我正在向 Parse.com 迈出第一步,但现在我遇到了一个无法解决的问题。 在询问之前,我一直在寻找解决方案,但一无所获。
事实是我必须根据两个不同列的值从表中检索记录。
让我们考虑下表:
idSection idItem
--------- ------
1 10
1 11
1 12
2 20
2 21
2 22
2 23
3 31
3 32
3 33
我需要的是通过以下方式创建“和”/“或”条件的选择:
select *
from table1
where (idSection = 1 and idItem > 11)
or (idSection = 2 and idItem > 22)
or (idSection = 3 and idItem > 32)
有什么想法吗? 提前致谢。
最佳答案
如果您使用的是 iOS,您可以执行以下操作:
NSPredicate * pred = [NSPredicate predicateWithFormat:@"(idSection = 1 and idItem > 11) or (idSection = 2 and idItem > 22) or (idSection = 3 and idItem > 32)"];
PFQuery * q = [PFQuery queryWithClassName:@"MyClass" predicate:pred];
[q findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
NSLog(@"OBJ : %@",objects);
}];
如果是 JavaScript,请执行以下操作:
var clz = "MyClass";
var q1 = new Parse.Query(clz);
q1.equalTo("idSection", 1);
q1.greaterThan("idItem", 11);
var q2 = new Parse.Query(clz);
q2.equalTo("idSection", 2);
q2.greaterThan("idItem", 22);
var q3 = new Parse.Query(clz);
q3.equalTo("idSection", 3);
q3.greaterThan("idItem", 32);
var mainQuery = Parse.Query.or(q1,q2,q3);
mainQuery.find({
success: function(results) {
},
error: function(error) {
}
});
Android 与 javascript 类似。请参阅此处 ParseQuery 类中的“or”方法 https://parse.com/docs/android/api/
关于android - 使用 Parse.com 进行嵌套和/或条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25730420/