Middle
Чӣ гуна иҷрои дархост бо таърихи максималии қурз барои ҳар як транзаксия бо дарназардошти рӯзҳои истироҳат ва идҳо?
sobes.tech AI
Ҷавоб аз AI
Барои иҷрои савол, ки барои ҳар як транзаксия курс бо максималӣ сана интихоб мекунад, бо дарназардошти рӯзҳои истироҳат ва идҳо, лозим аст:
- Таблише бо курсҳои асъор, ки дар он санаҳое нишон дода шудаанд, ки курс дар он буд.
- Таблише бо тақвим, ки дар он рӯзҳои истироҳат ва идҳо нишон дода шудаанд.
Намуди савол — барои ҳар транзаксия — санаи максималии курсро ёфтан, ки аз санаи транзаксия нагузарад ва рӯзҳои корӣ бошад.
Масалан дар SQL (PostgreSQL):
WITH working_days AS (
SELECT date
FROM calendar
WHERE is_holiday = FALSE AND is_weekend = FALSE
),
max_course_dates AS (
SELECT t.transaction_id, MAX(c.date) AS max_course_date
FROM transactions t
JOIN courses c ON c.date <= t.transaction_date
JOIN working_days wd ON c.date = wd.date
GROUP BY t.transaction_id
)
SELECT t.*, c.rate
FROM transactions t
JOIN max_course_dates mcd ON t.transaction_id = mcd.transaction_id
JOIN courses c ON c.date = mcd.max_course_date
AND c.currency = t.currency
;
Инчунин, барои ҳар транзаксия, курс бо максималӣ сана, ки аз санаи транзаксия дер нест ва рӯзҳои корӣ аст (беҳузур аз рӯзҳои истироҳат ва идҳо), интихоб мешавад.