Ошибка в запросе к БД

Есть таблицы телеграмм tlg (tlg_id,tlg_executor_id,tlg_date_greate) и исполнителей executor (tlg_executor_id,tlg_executor_lastname) Нужно найти ФИО исполнителей, отправивших максимальное количество телеграмм в текущем году. С ФИО все нормально и работает. Однако если я пытаюсь вставить проверку WHERE date_part('year', t.tlg_date_greate) = date_part('year', now()) запрос пуст.

SELECT te.tlg_executor_lastname AS "Фамилия", cnum1 AS "Количество телеграмм в 2021 году"
FROM (SELECT t.tlg_executor_id cid1, COUNT(t.tlg_id) cnum1
      FROM tlg t
      GROUP BY t.tlg_executor_id) d, tlg_executor te
WHERE cnum1 = (SELECT MAX(cord.cnum)
               FROM (SELECT COUNT(t.tlg_id) cnum
                     FROM tlg t
                     WHERE date_part('year', t.tlg_date_greate) = date_part('year', now())
                     GROUP BY t.tlg_executor_id) cord)
  AND te.tlg_executor_id = cid1;

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

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

Решением стало это:

SELECT te.tlg_executor_lastname AS "Фамилия"
FROM (SELECT t.tlg_executor_id cid1, COUNT(t.tlg_id) cnum1
      FROM tlg t
      WHERE date_part('year', t.tlg_date_greate) = date_part('year', now())
      GROUP BY t.tlg_executor_id) d, tlg_executor te
WHERE cnum1 = (SELECT MAX(cord.cnum)
               FROM (SELECT COUNT(t.tlg_id) cnum
                     FROM tlg t
                     WHERE date_part('year', t.tlg_date_greate) = date_part('year', now())
                     GROUP BY t.tlg_executor_id) cord)
  AND te.tlg_executor_id = cid1;
→ Ссылка