Застрял в написании HQL / MySQL запроса в Hibernate - PullRequest
0 голосов
/ 06 октября 2018

Я создаю веб-сервисы с использованием технологий Spring + Hibernate и начинающих пользователей запросов HQL / MySQL.

Есть сложный сценарий, с которым я сталкиваюсь

enter image description here

В student_college таблице, Учащиеся 1, 2, 3 и 4 учатся в В колледже 1 и Учащиеся 5,6,7 и 8 учатся в Колледж 2

Кроме того, за friend_detail столом, ученик 4 в колледже 1 и ученик 8 в колледже 2 не имеют друзей в одном колледже.

Я хотел бы выбрать ученика 4 и ученика 8 в качестве списка, и они будут считаться подозрительными лицами, потому что у других в том же колледже есть хотя бы один друг в том же колледже

Я уверен, что он можетбыть реализован с помощью цикла for, но когда база данных достигает более 100 тыс. пользователей, не представляется возможным выполнить многократное попадание в базу данных для получения единого набора результатов, но нет понятия о том, как начать писать запрос к этому, даже после многократного поиска в Google.

1 Ответ

0 голосов
/ 06 октября 2018

Насколько я вижу, вам нужно написать запрос NOT EXISTS, чтобы проверить, нет ли у учеников отношения с друзьями в таблице friend_detail.

Я думаю, что это может помочь;

select * from student_college sc
where not exists (
select 1 from friend_detail fd where fd.friend1 = sc.student or fd.friend2 = 
sc.student
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...