У меня есть таблица со следующей структуройSQL-запрос для даты хранятся в виде пары ключ-значение
**JobData** - Table
---------------------------
id - Number
key - Varchar
value - Varchar
Data:
-----------------
ID value key
-----------------------------------------------
21212 2010-06-11T15:00:00 Job_End
21213 2008-12-01T23:59:00 Job_Start
21214 2008-12-01T23:59:00 Job_Start
21215 2018-06-11T15:00:00 Job_End
21216 2015-06-11T15:00:00 Job_End
Если я хочу, чтобы получить записи между двумя датами между 2000-06-01T: 00: 00, 2010-06- 11T15: 00: 00, написал запрос, как показано ниже.
SELECT * FROM JobData jd
WHERE
jd.key IN ('Job_Start', 'Job_End')
AND (jd.key = 'Job_Start' and jd.value BETWEEN '2000-06-01T:00:00' AND '2010-06-11T15:00:00')
AND (jd.key = 'Job_End' and jd.value BETWEEN '2000-06-01T:00:00' AND '2010-06-11T15:00:00')
Но я получаю 0 записей, пожалуйста, сообщите мне, где я пропал без вести.
Примечание: база данных ORACLE
Спасибо.
Ваши теги были правы в первый раз. Ваш вопрос не о «реляционной базе данных» или о «администрировании базы данных». – mathguy
Спасибо за обновление соответственно :) – Raju
Я бы предположил, что хранилище значений ключей является неправильной структурой для этого типа данных. Рефакторинг базы данных сэкономит вам время и производительность. и почти наверняка будет стоить того. – HLGEM