对sqlite查出一组结果,然后对这组结果进行for循环继续用sqlite在数据库里面查,以此来获取相就的结果内容。下面是我的目前使用的方法。请问有简单的方法吗?
题目来源及自己的思路
相关代码
- (void)AccordingtoWithBlockReult:(void(^)(NSArray *))BlockResultArray
Radicl:(NSString *)radicl{
NSString * Sql = [NSString stringWithFormat:@"SELECT GROUP_CONCAT(DISTINCT b)FROM tableA WHERE R = '%@ '",r];
NSArray * array1 = nil;
FMResultSet * set = [self.db executeQuery:Sql];
while ([set next]) {
array1 = [[set stringForColumn:@"GROUP_CONCAT(DISTINCT b)"] componentsSeparatedByString:@","];
array1 = [array1 sortedArrayUsingComparator:[self sort]];
}
NSMutableArray * tmpArray = [[NSMutableArray alloc]init];
[array enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSString * Sql2 = [NSString stringWithFormat:@"SELECT GROUP_CONCAT(DISTINCT name)FROM tableA WHERE R = '%@ ' and b = '%@'",radicl,obj];
[self.dbQueue inDatabase:^(FMDatabase *db) {
NSArray * array2 = nil;
CollectionCategoryModel * model= nil;
FMResultSet * set = [db executeQuery:BuShouSql2];
while ([set next]) {
array2 = [[set stringForColumn:@"GROUP_CONCAT(DISTINCT name)"] componentsSeparatedByString:@","];
model = [CollectionCategoryModel itemWithDataArray:[[NSMutableArray alloc]initWithArray:array2] sectionTitle:[NSString stringWithFormat:@"%@",obj]];
}
[tmpArray addObject:model];
}];
}];
BlockResultArray(tmpArray);
}
[self.dbQueue inDatabase:^(FMDatabase *db) }];
能不能用这个方法将sql1和slq2合并,同时查出array1和array2谢谢啦