Android SimpleDB-子查询还是嵌套的select语句?
我试图在Amazon SimpleDB中实现以下查询,但得到InvalidQueryExpression,AWS错误消息:指定的查询表达式语法无效Android SimpleDB-子查询还是嵌套的select语句?,android,sql,database,amazon-web-services,amazon-simpledb,Android,Sql,Database,Amazon Web Services,Amazon Simpledb,我试图在Amazon SimpleDB中实现以下查询,但得到InvalidQueryExpression,AWS错误消息:指定的查询表达式语法无效 SelectRequest selectRequest = new SelectRequest("select itemName() from Quotes where name = '" + myName + "' and name in (select followedName from Following)"
SelectRequest selectRequest =
new SelectRequest("select itemName() from Quotes where name = '" +
myName +
"' and name in (select followedName from Following)");
子查询或嵌套选择是否不受SimpleDB支持?那么,我怎样才能在切换数据库的情况下完成这样的任务呢?所以我发现它不支持子查询。以下是我使用的解决方法:
SelectRequest selectRequestNames = new SelectRequest("select followedName from Following where followedBy = '" + myName + "'").withConsistentRead(true);
List<Item> names = getInstance().select(selectRequestNames).getItems();
String set = "(";
for (int j = 0; j < names.size(); j++) {
set += "'" + names.get(j).getAttributes().get(0).getValue() + "',";
}
set = set.substring(0, set.length() - 1) + ")";
SelectRequest selectRequest = new SelectRequest("select itemName() from Quotes where fbName in " + set + " and timestamp is not null order by timestamp desc").withConsistentRead(true);
SelectRequest-selectRequestNames=new-SelectRequest(“从下面选择followdname,其中followdby='“+myName+””)。使用ConsistentRead(true);
列表名称=getInstance().select(selectRequestNames).getItems();
字符串集=“(”;
对于(int j=0;j