4
QueryBuilder<Answer, Integer> queryBuilder = helper.getAnswerDao().queryBuilder();
QueryBuilder<Question, Integer> questionQueryBuilder = helper.getQuestionDao().queryBuilder();
questionQueryBuilder.where().eq(Question.TYPE_COLUMN_NAME, "table");
queryBuilder.leftJoin(questionQueryBuilder);
queryBuilder.where().eq(Answer.PICKED_COLUMN_NAME, true);
pickedAnswers = queryBuilder.query();
生成的SQL語句:Android ORMLite。 LEFT加入。 WHERE子句
SELECT `Answers`.*
FROM `Answers`
LEFT JOIN `Questions` ON `Answers`.`questionId` = `Questions`.`id`
WHERE `Answers`.`picked` = 1
AND (`Questions`.`type` = 'table')
該查詢返回空結果集,由於 '與' 邏輯運算。這是ORMLite的默認行爲。有沒有可能通過'OR'操作來改變where子句的連接?
我曾嘗試過:queryBuilder.where().or()
之前queryBuilder.where().eq(Answer.PICKED_COLUMN_NAME, true)
和queryBuilder.where().or(2)
畢竟where()
方法。