Запрос возвращает пустую выборку

В PostgreSQL у меня есть 4 таблицы: transactions(trans_id, trans_date, amoun, card_num, oper_type, oper_resulr), cards(card_num, account_num), accounts(account_num, valid_to, client), clients(client_id, last_name, first_name, patronymic, date_of_birth, passport_num, phone). Мой запрос должен выдавать дату транзакции, номер паспорта, ФИО и телефон клиентов, у которых транзакции совершены при недействующем договоре(valid_to). Мой запрос возвращает пустую выборку, подскажите что у меня не так?

SELECT
    trt.trans_date,
    clt.passport_num,
    concat(clt.last_name, ' ', clt.first_name, ' ', clt.patronymic),
    clt.phone
FROM transactions trt
LEFT join cards ct ON ct.card_num = trt.card_num
LEFT join accounts a ON a.account_num = ct.account_num
LEFT join clients clt ON clt.client_id = a.client
WHERE trt.trans_date > a.valid_to

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

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

Проблема была в первом джоине по card_num, исправил таблицу cards и все заработало как надо. card_num сделал типом bpchar. До этого был тип varchar

→ Ссылка