Один из способов ее решения - NOT EXISTS
. Вы можете создать связанный подзапрос, который будет проверять наличие новых строк в invoice_header_view
.
Другой способ - использовать GROUP BY
, например
SELECT
usr.name, usr.mobile, ihv.partner_id,
max(ihv.create_date) AS max_create_date,
count(*) AS invoice_header_count
FROM invoice_header_view ihv
JOIN user_store_mapper usm ON ihv.partner_id = usm.partner_id
JOIN public.user usr ON usr.user_id = usm.user_id
WHERE
usm.store_id = '123'
AND ihv.create_date >= now() - interval '2 months'
GROUP BY
1,2,3
HAVING
max(ihv.create_date) <= now() - interval '2 months';