Предположим, у меня есть две таблицы t1
и t2
, они выглядят следующим образом:
t1
:
id, value
1, 1
2, 1
3, 2
4, 12
5, 13
t2
:
id, value
1, 1
2, 2
3, 10
Я пытаюсь объединить две таблицы слева, исходя из минимальной разницы между t1.value
и t2.value
, так что результат содержит все записи t1
с ближайшим соответствующим партнером из t2
, поэтому
t1.id, t1.value,t2.id
1,1,1
2,1,1
3,2,2
4,12,3
5,13,3
Полагаю, запрос будет выглядеть примерно так:
SELECT t1.id, t1.value, t2.id
FROM t1 LEFT JOIN t2
ON t1.value = t2.value -- I don't know what to do here
Вот SQLite-запросы для воспроизведения таблиц:
CREATE TABLE "t1" ( "id" INTEGER, "value" INTEGER);
CREATE TABLE "t2" ( "id" INTEGER, "value" INTEGER);
INSERT INTO t1 VALUES (1, 1), (2, 1), (3, 2), (4, 12), (5, 13);
INSERT INTO t2 VALUES (1, 1), (2, 2), (3, 10);