ORMLite如何在同一个表中使用两列创建'< ='?

时间:2012-12-31 15:32:58

标签: android where-clause ormlite

我想做一个这样的查询:

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   &lt; = table_two.column_two。

最好的方法是什么?

感谢您的时间。

2 个答案:

答案 0 :(得分: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();

此处提供更多信息:see 3.7 Using Column Arguments

答案 1 :(得分:2)

您是否考虑过使用rawQuery

正如文档所说:

  

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