В этой таблице я храню изменяемые значения для определенных спидов.
Со временем эти значения могут измениться, и spid может получить новое значение.
Теперь я хочу выяснить, когда будет включено определенное значение.
Это данные для одного спида
uid spid propertyvalue creationdate
--------------------------------------------------
1 3 First name 2010-01-17 22:34:00
37 3 Second name 2010-01-18 01:07:24
38 3 Third name 2010-01-18 01:09:00
39 3 Fourth name 2010-01-18 01:18:16
40 3 Fifth name 2010-01-18 01:20:02
Таким образом, первое значение начинается с 2010-01-18 01: 07: 24 и будет действовать до 2010-01-18 01: 01: 00 .
Я уже пробовал этот запрос:
SELECT s1 . * ,
s2.creationdate AS datetwo
FROM salespointproperty s1
JOIN salespointproperty s2 ON s1.spid = s2.spid
AND s1.creationdate < s2.creationdate
Это дает мне много двойных записей (некоторые из них неправильные), и всегда пропускает последнее новое имя (так как после него нет новой даты создания)
Пример:
uid spid propertyvalue creationdate datetwo
--------------------------------------------------------------
1 3 First name 2010-01-17 22:34:00 2010-01-18 01:07:24 *
1 3 First name 2010-01-17 22:34:00 2010-01-18 01:09:00
37 3 Second name 2010-01-18 01:07:24 2010-01-18 01:09:00 *
1 3 First name 2010-01-17 22:34:00 2010-01-18 01:18:16
37 3 Second name 2010-01-18 01:07:24 2010-01-18 01:18:16
38 3 Third name 2010-01-18 01:09:00 2010-01-18 01:18:16 *
1 3 First name 2010-01-17 22:34:00 2010-01-18 01:20:02
37 3 Second name 2010-01-18 01:07:24 2010-01-18 01:20:02
38 3 Third name 2010-01-18 01:09:00 2010-01-18 01:20:02
39 3 Fourth name 2010-01-18 01:18:16 2010-01-18 01:20:02 *
Только строки со звездочкой верны. Пятое имя отсутствует.