0

Je dois construire une selectExpression pour SimpleDB où je ne veux que des éléments avec des attributs = à X, triées par ordre décroissant par attribut Y. Tout ce que j'ai jusqu'à présent est la suivante:AWS SimpleDB Sélectionnez Expression iPhone

NSString *selectExpression = [NSString stringWithFormat:@"select itemName() from `%@`",domainString]; 

@try { 
    SimpleDBSelectRequest *selectRequest2 = [[[SimpleDBSelectRequest alloc] initWithSelectExpression:selectExpression] autorelease]; 
    SimpleDBSelectResponse *selectResponse = [[Constants sdb] select:selectRequest2]; 

    if (items == nil) { 
     items = [[NSMutableArray alloc] initWithCapacity:[selectResponse.items count]]; 
    } 
    else { 
     [items removeAllObjects]; 
    } 
    for (SimpleDBItem *item in selectResponse.items) { 
     [items addObject:item.name]; 
    } 
    [items sortUsingSelector:@selector(compare:)]; 
} 
@catch (AmazonServiceException *exception) { 
    NSLog(@"Exception = %@", exception); 
} 

Je préférerais ne sélectionner que les éléments (ci-dessus) avec les attributs X par Y plutôt que d'obtenir tous les éléments, puis trier. Comment puis-je l'ajouter? Va-t-il dans la chaîne selectExpression ou ailleurs. Merci beaucoup!

Répondre

0
NSString *selectExpression = [NSString stringWithFormat:@"select itemName() from `%@` where X = '%@' order by 'X' descending",domainName,attributeValue]; 
+0

La demande ci-dessus et dans ma question ont raison, le problème est la méthode [articles genre usingSelector]. Sortez ça et ça fonctionne. – Eric

0

Try this out -

Select x,y from <domain_name> where itemName() is not null order by itemName() asc 
Questions connexes