Получить уникальное значение по колонке подтаблицы. Запрос на SQL или на JPQL

Таблица А:

--------------------
id | photo  | id_b |
--------------------
 1 | Лондон | 1    |
--------------------
 2 | Париж  | 1    |
--------------------
 3 | цветок | 1    |
--------------------
 4 | авто   | 2    |
--------------------
 5 | кружка | 2    |
--------------------

Таблица B (есть подтаблицой А):

--------------
id_b | user  |
--------------
1    | Петр  |
--------------
2    | Иван  |
--------------

ВОПРОС: Как получить список элементов таблицы А, содержащий такие элементы:

1 / Лондон / 1
4 / авто / 2

То есть по одному фото от user_а.

Подскажите пожалуйста как написать запрос на sql, а лучше на jpql для Hibernate для аннотации @Query в Spring


Ответы (1 шт):

Автор решения: engineer77721

Для SQL: SELECT DISTINCT a.* FROM a LEFT JOIN b ON a.id_b = b.id_b GROUP BY a.id_b

Для SQL в месте с java (interface JpaRepository)/Hibernate/spring: @Query(nativeQuery = true, value = "SELECT DISTINCT a.* FROM a LEFT JOIN b ON a.id_b = b.id_b GROUP BY a.id_b")

→ Ссылка