ORMLiteを使用して、特定の基準に一致するデータベースアイテムの数をカウントしたいと思います。私のデータベースの簡略版は次のとおりです。
Employee Table:
employeeId
departmentId
Department Table:
departmentId
Salary Table:
employeeId
payGrade
特定の給与等級にある部門のサブセットからの従業員の数を数えたいとします。次のようなことを試してみると、1つの選択列のみが許可されているという例外が報告されます。
salaryQB.selectColumns(salaryQB.EMPLOYEE_ID);
salaryQB.where().eq(salaryQB.PAY_GRADE, 12);
employeeQB.where.in(Employee.DEPARTMENT_ID, departmentList)
.and().in(employeeQB.EMPLOYEE_ID, salaryQB);
employeeQB.setCountOf(true);
count = dao.countOf(employeeQB.prepare());
しかし、このようなコードは次のエラーを返します。
RuntimeException(java.sql.SQLException:内部クエリには2つではなく1つの選択列のみを指定する必要があります)
生のSQLクエリを書く以外にこれを行う方法はありますか?