powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Логическая задачка
25 сообщений из 65, страница 1 из 3
Логическая задачка
    #33307915
For Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Существует база - в ней поля: дата начала и дата окончания допустим bd.s и bd.po, есть две переменные дата: начало- m.s и окончание - m.po

Необходимо с базы bd выбрать все записи, которые имеют пересечение с переменными m.s и m.po, т.е. даты введенные входят в интервал времени полей bd.s и bd.po

На первый взгляд все просто, но я запутался под конец.

Прошу о помощи
...
Рейтинг: 0 / 0
Логическая задачка
    #33307924
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
where BETWEEN(m.s,bd.s,bd.po) and BETWEEN(m.po,bd.s,bd.po)
...
Рейтинг: 0 / 0
Логическая задачка
    #33307928
Я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я
Гость
попонятней скажи что требуется
...
Рейтинг: 0 / 0
Логическая задачка
    #33307937
For Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafwhere BETWEEN(m.s,bd.s,bd.po) and BETWEEN(m.po,bd.s,bd.po)


Это не сработает. Мне необходимо чтобы если есть хотя бы вхождение одного дня в интервал переменных m.s и m.po - то попадало бы в список
...
Рейтинг: 0 / 0
Логическая задачка
    #33307942
вместо AND поставь OR
...
Рейтинг: 0 / 0
Логическая задачка
    #33307948
For Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Япопонятней скажи что требуется

вводятся от руки две произвольные даты m.s и m.po

нужно из базы bd (где имеются Поля дат bd.s и bd.po) вытащить все записи которые даже хоть 1 днем пересекаются с переменными m.s и m.po
...
Рейтинг: 0 / 0
Логическая задачка
    #33307954
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
or попадание одной из дат в диапазон
and пересечение диапазонов
...
Рейтинг: 0 / 0
Логическая задачка
    #33307961
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
плохо сказал
короче юзай .OR.
...
Рейтинг: 0 / 0
Логическая задачка
    #33307978
Антон_118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
For PeaceСуществует база - в ней поля: дата начала и дата окончания допустим bd.s и bd.po, есть две переменные дата: начало- m.s и окончание - m.po

Необходимо с базы bd выбрать все записи, которые имеют пересечение с переменными m.s и m.po, т.е. даты введенные входят в интервал времени полей bd.s и bd.po

На первый взгляд все просто, но я запутался под конец.

Прошу о помощи


Может так?

(m.s < bd.po) and (bd.s < m.p)
...
Рейтинг: 0 / 0
Логическая задачка
    #33307981
For Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafплохо сказал
короче юзай .OR.

вот пример при котором не сработает твой совет

допустим
m.s =01.10.05
m.po=21.06.06

а в базе н-ер такой интервал 11.11.05 и 19.02.06

between (01.10.05, 11.11.05 и 19.02.06) дает FALSE
between (21.06.06, 11.11.05 и 19.02.06) тоже дает FALSE

а фактически должно отбираться
...
Рейтинг: 0 / 0
Логическая задачка
    #33307997
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин чё те нужно то?
оно и должно давать FALSE
сначала вопрос задай нормально....
короче когда определишься с тем что куда должно попадать приходи
...
Рейтинг: 0 / 0
Логическая задачка
    #33308019
For Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafблин чё те нужно то?
оно и должно давать FALSE
сначала вопрос задай нормально....
короче когда определишься с тем что куда должно попадать приходи

Оно то и должно давать фальш, и оно не попадет в список. А я по моему внятно объяснил что любое пересечение этих дат должно попадать в список.
А в этом случае твоя формула не срабатывает т.е. нужен другой подход

m.s =01.10.05
m.po=21.06.06

а в базе н-ер такой интервал 11.11.05 и 19.02.06

between (01.10.05, 11.11.05 и 19.02.06) дает FALSE
between (21.06.06, 11.11.05 и 19.02.06) тоже дает FALSE
...
Рейтинг: 0 / 0
Логическая задачка
    #33308040
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перевожу
Товарисч хоче узнать: перекрываются периоды или нет.

Отвечаю: ну так добавь еще пару BETWEENов через OR.
...
Рейтинг: 0 / 0
Логическая задачка
    #33308045
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
осталось только выяснить что ты называешь пересечение диапазонов ....
ясен пень что либо интервал 1 содержется в интервале 2 либо наоборот либо одна из точек отрезка лежит между двумя точками другого отрезка
всё это ты называешь пересечением
так чё те надо?
...
Рейтинг: 0 / 0
Логическая задачка
    #33308052
For Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMedПеревожу
Товарисч хоче узнать: перекрываются периоды или нет.

Отвечаю: ну так добавь еще пару BETWEENов через OR.

Спасибо за поддержку а то у меня уже комлекс создавался - неумения объяснить задачу.

пару between тормозят процесс, я уверен что можно обойтись и одной
...
Рейтинг: 0 / 0
Логическая задачка
    #33308058
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну да действительно еще пару условий а так же проверку на пустоту
утро однако...
а воще пример приведи чего тебе надо и не один
...
Рейтинг: 0 / 0
Логическая задачка
    #33308067
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafтак чё те надо?

Мне?! Ничего.
Это For Peace надо :)
...
Рейтинг: 0 / 0
Логическая задачка
    #33308068
For Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafосталось только выяснить что ты называешь пересечение диапазонов ....
ясен пень что либо интервал 1 содержется в интервале 2 либо наоборот либо одна из точек отрезка лежит между двумя точками другого отрезка
всё это ты называешь пересечением
так чё те надо?

Че тут непонятного Дорогой чайник! Любое пересечение означает - любая точка соприкосновения, в примере линий пускай даже хоть на одну точку
...
Рейтинг: 0 / 0
Логическая задачка
    #33308093
For Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMed leafтак чё те надо?

Мне?! Ничего.
Это For Peace надо :)

Ты понял задачу и уверен что ты справишься не поленись, реши ее как для себя
...
Рейтинг: 0 / 0
Логическая задачка
    #33308119
WORKSNS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAVENAH_PER=NAH_PER
SAVEKON_PER=KON_PER

&& ИДЕМ КАКИМ-ТО ПО ЗАПИСЯМ
Код: plaintext
1.
2.
3.
4.
IF BETWEEN(savenah_per,nah_per,kon_per) .or. BETWEEN(savekon_per,nah_per,kon_per) .or. ;
     BETWEEN(nah_per,savenah_per,savekon_per) .or. BETWEEN(kon_per,savenah_per,savekon_per)

endif
...
Рейтинг: 0 / 0
Логическая задачка
    #33308123
Антон_118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А мое решение не работает или меня просто игнорируют? :)
...
Рейтинг: 0 / 0
Логическая задачка
    #33308136
For Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WORKSNSSAVENAH_PER=NAH_PER
SAVEKON_PER=KON_PER

&& ИДЕМ КАКИМ-ТО ПО ЗАПИСЯМ
Код: plaintext
1.
2.
3.
4.
IF BETWEEN(savenah_per,nah_per,kon_per) .or. BETWEEN(savekon_per,nah_per,kon_per) .or. ;
     BETWEEN(nah_per,savenah_per,savekon_per) .or. BETWEEN(kon_per,savenah_per,savekon_per)

endif


Так громоздко я и сам могу, есть же методы по проще. База огромная - а запрос частый - комп меня просто обматерит
...
Рейтинг: 0 / 0
Логическая задачка
    #33308149
For Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон_118А мое решение не работает или меня просто игнорируют? :)

оно не работает, но ты молодец. Примерно так я и представляю решение задачи, но чего то не хватает
...
Рейтинг: 0 / 0
Логическая задачка
    #33308158
WORKSNS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, если задача не разовая - то индексы пользовать нужно. и будет вам щасте.
...
Рейтинг: 0 / 0
Логическая задачка
    #33308170
For Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WORKSNSну, если задача не разовая - то индексы пользовать нужно. и будет вам щасте.

Ето условие у меня в select -SQL индексы здесь не причем
...
Рейтинг: 0 / 0
25 сообщений из 65, страница 1 из 3
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Логическая задачка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]