2015-11-06 67 views
0

我有一個簡單的Spring MVC數據項目設置,我試圖選擇Admin表中尚不存在的用戶列表。這裏是我的倉庫方法在NOT IN條件下包含省略記錄

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已添加到管理員表中。當我編輯該用戶2在該管理表中的記錄時,我仍然應該看到用戶2作爲可用選項,但它被省略了 enter image description here

+0

當我編輯用戶2在該管理表中的記錄,我仍然應該看到用戶2作爲一個可用的選項,但它被省略....這裏你什麼意思是省略。 –

+0

因爲在用戶2中不屬於結果集的一部分,因爲「NOT IN」條件,但我想在您的子查詢中包含用戶2 –

+0

,而不僅僅是添加一個條件,即用戶不應該等於user2 。 –

回答

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