Я не очень хорошо знаю SQLLite, поэтому мне пришлось посмотреть, как сделать добавление дат, но я думаю, что это может сработать.
SELECT c.date, c.id_1, c.id_2, c.value, f.value as value_future
FROM mytable c
LEFT OUTER JOIN mytable f
ON date(c.date, '+7 day') = f.date AND c.id_1 = f.id_1 AND c.id_2 = f.id_2
По сути, вы хотите присоединиться к тому жетаблица, которая требует от вас псевдонима обеих таблиц в соединении (c и f).Используйте функцию даты в предложении ON, чтобы присоединиться к записи через неделю, при необходимости вы можете изменить условие модификатора даты (+7 день), чтобы изменить диапазон дат.Затем просто прикрепите все идентификаторы, которые у вас есть.В общем, хорошая идея - создать один первичный ключ, но в этом случае это не поможет, потому что не было бы способа выяснить ключ записи, к которой вы хотели бы присоединиться.Последнее, на что следует обратить внимание, это то, что теперь у вас есть 2 столбца «значения» в результате, поэтому вам нужно создать псевдоним одного из них, чтобы сделать список столбцов уникальным.Вот что делает «as value_future».