Utilice la fecha más reciente para las fechas faltantes al unir tablas

Tengo 2 tablas:

1.tran_test : (id, amount, currency(Currency_Name), date_1)
2.cur_test: (id, currency, date_2, price(amount In USD))

¿Cómo obtener la suma total de ventas para cada día teniendo en cuenta que faltan algunas de las fechas en la tabla de prueba actual, por lo que debe usar las últimas fechas disponibles para calcular el resultado?

Escribí una consulta que calcula la suma, pero excluye los días en que faltan las tasas.

¿Cómo calcular los importes de los días que faltan?

SELECT date_1, SUM(amount*c.price) AS sum_by_day
 FROM tran_test AS t
 INNER JOIN cur_test AS c
 ON t.currency = c.currency AND date_1 = date_2
 GROUP BY date_1;

No necesito solo generar fechas. Necesito calcular cantidades usando los datos disponibles en las tablas. Si faltan algunas de las fechas, necesito tomar la última fecha disponible cuando las tasas de cambio están disponibles. Por ejemplo: la tabla tran.test tiene una transacción para el 28 de septiembre, pero no se proporcionan las tasas de cambio para este día, por lo que debo tomar la última tasa disponible

Muestra de datos similares

INSERT INTO tran_test (amount, currency, date_1) VALUES 
(1000,'RUB','2018-09-01'),
(15,'USD','2018-09-01'),
(10,'EUR','2018-09-01'),

INSERT INTO cur_test (name,date_2, price) VALUES
('RUB','2018-01-09',0.02),
('USD','2018-01-09',1),

La salida debe ser igual a la fecha: cantidad total para la fecha 2018-02-21 - 2128

El código completo está aquí -https: //www.db-fiddle.com/f/v4SHW9XgtgyehbhanQFRx5/ Los datos reales son un poco más complicados e incluyen fechas en formato UNIX

Respuestas a la pregunta(2)

Su respuesta a la pregunta