Android 三个表上的Ormlite内部联接

Android 三个表上的Ormlite内部联接,android,sql,inner-join,ormlite,Android,Sql,Inner Join,Ormlite,我想在三个表上创建一个内部联接,例如: SELECT C.Description, D.ItemDescription FROM OrderDetailStatement AS D INNER JOIN OrderHeaderStatement AS H ON H.OrderHeaderStatementRefID = D.OrderHeaderStatementRefID INNER JOIN customers AS C ON H.CustomerRefID

我想在三个表上创建一个内部联接,例如:

SELECT C.Description, D.ItemDescription
  FROM OrderDetailStatement AS D 
 INNER JOIN OrderHeaderStatement AS H 
    ON H.OrderHeaderStatementRefID = D.OrderHeaderStatementRefID 
 INNER JOIN customers AS C 
    ON H.CustomerRefID = C.CustomerRefID
 WHERE (D.MixedValue > 1000)
但是我有点困惑,你能给我一个演练吗

提前感谢

现在支持。您可以执行以下操作:

// start the order header query
QueryBuilder<OrderHeader, Integer> orderHeaderQb = orderHeaderDao.queryBuilder();
QueryBuilder<Customer, Integer> customerQb = customerDao.queryBuilder();
// join with the order query
orderHeaderQb.join(customerQb);
// start the order statement query
QueryBuilder<OrderStatement, Integer> orderStatementQb =
    orderStatementDao.queryBuilder();
orderStatementQb.where().gt("mixedvalue", 100);
// join with the order-header query
orderStatementQb.join(orderHeaderQb);
List<OrderStatement> orderStatementQb.query();
//启动订单标题查询
QueryBuilder orderHeaderQb=orderHeaderDao.QueryBuilder();
QueryBuilder customerQb=customerDao.QueryBuilder();
//加入订单查询
orderHeaderQb.join(customerQb);
//启动订单语句查询
QueryBuilder orderStatementQb=
orderStatementDao.queryBuilder();
orderStatementQb.where().gt(“mixedvalue”,100);
//加入订单标题查询
orderStatementQb.join(orderHeaderQb);
List orderStatementQb.query();
但是,请注意,您只能使用此机制从查询生成器获取实体。如果您想从不同的对象获取两个描述字段,那么您仍然必须使用原始查询


支持“原始查询”,包括可以使用自己的SQL的方法。我想你已经找到了。以下是。

请发布您遇到的错误?我只是尝试使用纯sql,因为我仍然不知道如何使用ormlite或ormlite编写查询。我只需要一个例子。任何涉及3个表的示例。请注意,我们在4.42@Antonis中添加了基本连接支持。我已经更新了我的答案。从@haddr:到目前为止,如果您想要从其他表中获得完全水合的实体,您可以在外键上的
@DatabaseField
注释中使用
foreignAutoRefresh
。这样,当查询时,所有外来实体的字段都将被检索。@Gray我们如何进行原始查询,从不同的对象返回字段?我想在某处找到答案,但找不到。。。