Как отсортировать данные из связанных таблиц SQL

Дано две таблицы SQL.

Первая table_header

table_header

Вторая table_position

table_position

Обе таблицы связаны между собой по столбцу id=id_pos

Необходимо вывести все документы из таблицы table_header, где в таблице table_position по данному документу более 3-ех позиций. Из условия должно выдать только документ с id = 3

Результат

Такое возможно?


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

Автор решения: Akina
SELECT *
FROM table_header
JOIN ( SELECT id_pos id
       FROM table_position
       GROUP BY id
       HAVING COUNT(DISTINCT position) >= 3 ) cnt USING (id)
→ Ссылка