У меня есть 2 таблицы, которые я хотел бы объединить в Oracle SQL:
Table A:
DATE VALUE
02-May-19 19.25
03-May-19 19.35
04-May-19 19.37
06-May-19 19.45
11-May-19 19.30
01-Jun-19 18.79
01-Jul-19 19.33
Table B:
DATE VALUE
02-May-19 11.08
01-Jun-19 11.09
01-Jul-19 11.11
Я могу оставить внешнее соединение с ними, чтобы получить оба значения, где даты совпадают:
select a."date" as "DATE", a.value as a_value, b.value as b_value
from a
left outer join b on b."date" = a."date"
;
DATE A_VALUE B_VALUE
02-May-19 19.25 11.08
03-May-19 19.35
04-May-19 19.37
06-May-19 19.45
11-May-19 19.30
01-Jun-19 18.79 11.09
01-Jul-19 19.33 11.11
То, что я хотел бы сделать, это то, где дата не существует в таблице B, взять лучшее доступное значение b.value, где b. "Date" <= a. "Date".Вот так: </p>
DATE A_VALUE B_VALUE
02-May-19 19.25 11.08
03-May-19 19.35 11.08
04-May-19 19.37 11.08
06-May-19 19.45 11.08
11-May-19 19.30 11.08
01-Jun-19 18.79 11.09
01-Jul-19 19.33 11.11