2014-11-14 105 views
2

如何在使用Ormlite的select中執行子查詢。我嘗試這個Ormlite子查詢中select

QueryBuilder<Group, Long> queryBuilder = groupDAO.queryBuilder(); 
      queryBuilder.selectColumns(BaseColumns._ID ,Group.COLUMN_TITLE, "(SELECT relation_type FROM groupmembership as gr WHERE `group`._ID = gr.group_id AND gr.user_id = 687)"); 

,但得到的異常

java.lang.IllegalArgumentException: Unknown column name '(SELECT relation_type FROM groupmembership as gr WHERE `group`._ID = gr.group_id AND gr.user_id = 687)' in table groups 

順便說。我知道rawQuery(),但我想用QueryBuilder

回答

0

這是不可能的,因爲QueryBuilder.selectColumns()在添加到查詢之前檢查列名稱。

我發現這個源

private void addSelectColumnToList(String columnName) { 
    verifyColumnName(columnName); 
    selectColumnList.add(columnName); 
}