|
|
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
Существует база - в ней поля: дата начала и дата окончания допустим bd.s и bd.po, есть две переменные дата: начало- m.s и окончание - m.po Необходимо с базы bd выбрать все записи, которые имеют пересечение с переменными m.s и m.po, т.е. даты введенные входят в интервал времени полей bd.s и bd.po На первый взгляд все просто, но я запутался под конец. Прошу о помощи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 09:47:06 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
where BETWEEN(m.s,bd.s,bd.po) and BETWEEN(m.po,bd.s,bd.po) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 09:50:59 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
попонятней скажи что требуется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 09:52:22 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
leafwhere BETWEEN(m.s,bd.s,bd.po) and BETWEEN(m.po,bd.s,bd.po) Это не сработает. Мне необходимо чтобы если есть хотя бы вхождение одного дня в интервал переменных m.s и m.po - то попадало бы в список ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 09:55:56 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
вместо AND поставь OR ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 09:57:47 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
Япопонятней скажи что требуется вводятся от руки две произвольные даты m.s и m.po нужно из базы bd (где имеются Поля дат bd.s и bd.po) вытащить все записи которые даже хоть 1 днем пересекаются с переменными m.s и m.po ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:01:15 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
or попадание одной из дат в диапазон and пересечение диапазонов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:01:54 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
плохо сказал короче юзай .OR. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:03:12 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
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) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:10:51 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
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 а фактически должно отбираться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:11:32 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
блин чё те нужно то? оно и должно давать FALSE сначала вопрос задай нормально.... короче когда определишься с тем что куда должно попадать приходи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:18:12 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:23:09 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
Перевожу Товарисч хоче узнать: перекрываются периоды или нет. Отвечаю: ну так добавь еще пару BETWEENов через OR. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:27:48 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
осталось только выяснить что ты называешь пересечение диапазонов .... ясен пень что либо интервал 1 содержется в интервале 2 либо наоборот либо одна из точек отрезка лежит между двумя точками другого отрезка всё это ты называешь пересечением так чё те надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:29:21 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
AleksMedПеревожу Товарисч хоче узнать: перекрываются периоды или нет. Отвечаю: ну так добавь еще пару BETWEENов через OR. Спасибо за поддержку а то у меня уже комлекс создавался - неумения объяснить задачу. пару between тормозят процесс, я уверен что можно обойтись и одной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:30:45 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
ну да действительно еще пару условий а так же проверку на пустоту утро однако... а воще пример приведи чего тебе надо и не один ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:31:56 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
leafтак чё те надо? Мне?! Ничего. Это For Peace надо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:33:51 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
leafосталось только выяснить что ты называешь пересечение диапазонов .... ясен пень что либо интервал 1 содержется в интервале 2 либо наоборот либо одна из точек отрезка лежит между двумя точками другого отрезка всё это ты называешь пересечением так чё те надо? Че тут непонятного Дорогой чайник! Любое пересечение означает - любая точка соприкосновения, в примере линий пускай даже хоть на одну точку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:34:06 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
AleksMed leafтак чё те надо? Мне?! Ничего. Это For Peace надо :) Ты понял задачу и уверен что ты справишься не поленись, реши ее как для себя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:38:24 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
SAVENAH_PER=NAH_PER SAVEKON_PER=KON_PER && ИДЕМ КАКИМ-ТО ПО ЗАПИСЯМ Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:41:40 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
А мое решение не работает или меня просто игнорируют? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:42:17 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
WORKSNSSAVENAH_PER=NAH_PER SAVEKON_PER=KON_PER && ИДЕМ КАКИМ-ТО ПО ЗАПИСЯМ Код: plaintext 1. 2. 3. 4. Так громоздко я и сам могу, есть же методы по проще. База огромная - а запрос частый - комп меня просто обматерит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:44:46 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
Антон_118А мое решение не работает или меня просто игнорируют? :) оно не работает, но ты молодец. Примерно так я и представляю решение задачи, но чего то не хватает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:46:55 |
|
||
|
Логическая задачка
|
|||
|---|---|---|---|
|
#18+
ну, если задача не разовая - то индексы пользовать нужно. и будет вам щасте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2005, 10:48:03 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33307981&tid=1593334]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
216ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
87ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 589ms |

| 0 / 0 |
