Я хочу использовать оператор case для проверки истечения срока действия кредитной карты. У меня есть две таблицы -
- Table_A - account_no, account_id
- Table_B - account_no, account_status, date_of_card_expiry
Типы данных вышеперечисленных полей - account_no - NUMBER, account_id - NUMBER, account_status - NUMBER, date_of_card_expiry - CHAR
Мне нужно написать запрос, чтобы проверить, истечет ли срок действия карты через 30 дней или 60 дней. Ниже приведен запрос, который у меня есть, но он дает неверную ошибку реляционного оператора в строке 4.
SELECT a.account_no, a.account_id, b.account_status,b.date_of_card_expiry
FROM Table_A a
JOIN Table_B b
ON (a.account_no = b.account_no
AND a.account_id IN ('1','2','7')
AND (
CASE WHEN (to_date(b.date_of_card_expiry, 'MMYY')) = to_date(to_char(sysdate+60, 'MMYY'),'MMYY') then 'card will expire after 2 months'
CASE WHEN (to_date(b.date_of_card_expiry, 'MMYY')) = to_date(to_char(sysdate+30, 'MMYY'),'MMYY') then 'card will expire after 1 month'))
Пожалуйста, помогите мне исправить запрос.