Запрос возвращает пустую выборку
В 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