Sql 在条件查询中使用NOT IN子句
这似乎是一个重复的问题,但我的问题并没有解决。我有以下表格:-Sql 在条件查询中使用NOT IN子句,sql,hibernate-criteria,detachedcriteria,Sql,Hibernate Criteria,Detachedcriteria,这似乎是一个重复的问题,但我的问题并没有解决。我有以下表格:- ------------------------------------------------------ student student_fine st_id fine_id st_name fine_description st_class
------------------------------------------------------
student student_fine
st_id fine_id
st_name fine_description
st_class fine_amount
st_id
-------------------------------------------------------
query required: "SELECT * FROM STUDENT WHERE STUDENT.ST_ID NOT IN
(SELECT STUDENT_FINE.ST_ID FROM STUDENT)"
criteria query code i used:
Criteria criteria = session.createCriteria(Student.class);
DetachedCriteria detachedcriteria = DetachedCriteria.forClass(StudentFine.class);
detachedcriteria.setProjection(Property.forName("st_id"));
criteria.add(Property.forName("st_id").notIn(detachedcriteria));
...
我得到一个没有记录的列表,而sql命令行返回2条记录。我做错了什么?你被你自己的大写字母搞糊涂了:选择STUDENT\u FINE.ST\u ID FROM STUDENT->>选择ST\u ID FROM STUDENT\u FINE谢谢更正。请不要更正问题中的错误。[我将其回滚到第1个版本]如果您更正问题中的错误,其他人将无法找出错误是什么。这就是为什么不改正它的原因