Извините, если то, что я пытаюсь спросить, сбивает с толку, я упрощаю очень сложный запрос до go до точки проблемы.
Допустим, у меня есть TableA со следующим столбцы: item_id; цена; date.
У меня также есть TableB с теми же тремя столбцами, и из обеих таблиц совпадают только идентификаторы.
Пример:
Table A:
+---------+-------+------------+
| item_id | price | date |
+---------+-------+------------+
| 1 | 60 | 2020/08/04 |
+---------+-------+------------+
| 2 | 100 | 2020/07/23 |
+---------+-------+------------+
Table B:
+---------+-------+------------+
| item_id | price | date |
+---------+-------+------------+
| 1 | 80 | 2020/08/05 |
+---------+-------+------------+
| 2 | 70 | 2020/07/24 |
+---------+-------+------------+
| 2 | 90 | 2020/07/20 |
+---------+-------+------------+
| 2 | 60 | 2020/06/20 |
+---------+-------+------------+
Я хочу присоединиться к этим 2 таблицы с использованием MySql, но с условием, что дата TableB должна быть ближе всего к дате TableA, но раньше.
Expected result:
+---------+---------+---------+
| item_id | price A | price B |
+---------+---------+---------+
| 1 | 60 | NULL | (As B date is superior to A)
+---------+---------+---------+
| 2 | 100 | 90 | (I ignore the superior(s), and of the other 2 I take max date)
+---------+---------+---------+
Я попытался выполнить LEFT JOIN, но он добавляет несколько строк на выходе, и я не совсем уверен, как правильно написать условия. Я новичок в написании таких сложных запросов, единственное, что я знал, 2 дня go на самом деле были базовыми c, и поэтому, когда я попытался найти в Google способы сделать это, я только больше запутался. 1014 * Спасибо за внимание!