这是我在这里的第一篇文章。我正在采用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)
有什么想法吗? 提前谢谢。
答案 0 :(得分:2)
如果你在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类中的“或”方法https://parse.com/docs/android/api/