2

我想做一个这样的查询:

SELECT * FROM my_table where column_one <= column_two;

使用 QueryBuilder 我可以制作where().le(column_one, Object obj),但我想要一些类似的东西where().le(column_one, column_two)

实际上,我想要以下查询:

SELECT * FROM table_one INNER JOIN table_two ON table_one.column_foreign_id = table_two.id WHERE table_two.column_one <= table_two.column_two。

什么是最好的方法?

感谢您的时间。

4

2 回答 2

7

是的,你可以做到。代码:

QueryBuilder<Account, String> queryBuilder = accountDao.queryBuilder();

queryBuilder.where().le(Account.COLUMN_ONE_NAME,
    new ColumnArg(Account.COLUMN_TWO_NAME));

List<Account> results = queryBuilder.query();

更多信息请参见 3.7 使用列参数

于 2014-06-27T14:41:54.883 回答
2

您是否考虑过使用rawQuery代替?

正如文档所说:

Dao 接口和 QueryBuilder 类中可用的内置方法不提供处理所有类型查询的能力。

于 2012-12-31T17:01:39.103 回答