使用 ORMLite,我想计算符合特定条件的数据库项目的数量。我的数据库的简化版本如下:
Employee Table:
employeeId
departmentId
Department Table:
departmentId
Salary Table:
employeeId
payGrade
假设我想计算具有特定薪酬等级的部门子集的员工人数。当我尝试以下类似操作时,我得到一个异常报告,只允许一个选择列。
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:内部查询必须只指定 1 个选择列而不是 2 个)
除了编写原始 SQL 查询之外,还有什么方法可以做到这一点?