![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
between или <= => [D2005, XP]
Роман © (2009-10-20 12:07:00)Здравствуйте помогите составить запрос
есть два поля datanach datakonec мне нужно выбрать строчки диапазон дат который пересекается не могу составить условие
................ and datanach between datanach and datakonec or datanach between datanach and datakonec ///ошибка
datanach data (8)
datakonec data (8)
а как ?
Роман (2009-10-21 07:06:00) [1]а как можно ?
Вариант (2009-10-20 14:09:00) [2]
> Роман (20.10.09 13:59) [7]
Нет.
Роман (2009-10-20 13:59:00) [3]можно ли так
and Начало диапазона1, конец диапазона1 between Начало диапазона2 and конец диапазона2
Роман (2009-10-20 13:55:00) [4]Начало диапазона1 конец диапазона1 нужно проверить пересекаются ли они с этим
Начало диапазона2 конец диапазона2
and Начало диапазона1 between Начало диапазона2 and конец диапазона2
or
конец диапазона1 between Начало диапазона2 and конец диапазона2
Anatoly Podgoretsky (2009-10-20 13:05:00) [5]> Роман (20.10.2009 12:07:00) [0]
Зачем два раза проверяешь?
И сообщение об ошибке хорошее и главно точное.
Вариант (2009-10-20 13:03:00) [6]
> Роман (20.10.09 12:07)
Не сказал какая ошибка, не показал запрос полностью.
Если я правильно понял вопрос, то тебе нужно внутреннее объединение таблицы с собой же. Для чего таблицу надо например дважды перечислить в FROM и назначить алиасы(псевдонимы). К полям таблиц обращаться соотвественно с использованием алиасов.
Что-то типа
select DISTINCT T1.ID,T2.ID from "твоя таблица" T1,"твоя таблица" T2 where
(T1.datanach between T2.datanach and T2.datakonec or
T1.datakonec between T2.datanach and T2.datakonec) and T1.ID <> T2.ID
Сергей М. (2009-10-20 12:22:00) [7]Какими средствами пытаешься выполнить запрос - BDE ?
Роман (2009-10-20 12:20:00) [8]dBASE IV
Сергей М. (2009-10-20 12:17:00) [9]СУБД какая ?