我有一个简单的Spring MVC Data项目设置,我正在尝试选择Admin
表中尚不存在的用户列表。这是我的存储库方法
SELECT u FROM User u WHERE u.id NOT IN (SELECT a.id FROM Admin a WHERE a.id = :id)
List<User>findAvailableUsers(@Param("id") Long id)
效果很好,我添加到Admin
表的用户越多,我<select>
标签中的可用内容越少
对于编辑 Admin
表中的现有用户,我的<select>
标记应该包含要添加的所有可用用户以及当前映射的用户,但是由于NOT IN
子句,查询结果中省略了该单个用户。我是否可以修改此查询以包含所有可用的User
以添加包括当前存在标记的用户?
示例:用户2和用户4已添加到Admin表中。当我在该Admin表中编辑User 2的记录时,我仍然应该将User 2视为可用选项,但它被省略
答案 0 :(得分:0)
这样的东西?
SELECT u FROM User u WHERE u.id NOT IN (SELECT a.id FROM Admin a WHERE a.id = :id) OR u.id = :idToGet