Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запрос в жоские условия / 6 сообщений из 6, страница 1 из 1
05.03.2009, 06:39
    #35852175
Руслан82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос в жоские условия
Здравствуйте подскажите пожалуйсто

Запрос выполняется но первые условия выполняются точно последние не точно
как поставить его в жоские рамки чтоб то что запросил то он и выдал
...
Рейтинг: 0 / 0
05.03.2009, 07:28
    #35852197
Запрос в жоские условия
Руслан82,
"Гюльчатай, открой личико!" :-) Т.е. запрос-то покажи...
А то такого можно "натеоретизировать" :-)
...
Рейтинг: 0 / 0
05.03.2009, 07:51
    #35852222
Руслан82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос в жоские условия
SELECT ;
CL.F, ;
CL.I, ;
CL.O, ;
CL.God, ;
CL.Uid AS Uid1, ;
CR.Uid AS Uid2, ;
CL.Start AS Start1, ;
CL.Finish AS Finish1, ;
CR.Start AS Start2, ;
CR.Finish AS Finish2 ;
FROM CurMain CL ;
INNER JOIN CurMain CR ON ;
CL.Uid != CR.Uid ;
AND CL.F == CR.F ;
AND CL.I == CR.I ;
AND CL.O == CR.O ;
AND CL.God == CR.God ;
AND CL.Start <= CR.Finish ;
AND CL.Finish >= CR.Start
...
Рейтинг: 0 / 0
05.03.2009, 08:01
    #35852232
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос в жоские условия
Если используете точное сравнение в запросе, то не помешает добавить и ALLTRIM
CL.F == CR.F -> ALLTRIM(CL.F) == ALLTRIM(CR.F)
Или заменить "==" на "=" и перед запросом установить SET ANSI ON

С уважением, Алексей
...
Рейтинг: 0 / 0
05.03.2009, 11:29
    #35852754
Запрос в жоские условия
Руслан82,
мне как-то стало жутко, когда я посмотрел на Ваш запрос... :-)
Мне кажется, что нужно вынести условия:

CL.Uid != CR.Uid
CL.Start <= CR.Finish
CL.Finish >= CR.Start

в секцию Where

Если в рамках одной записи всегда справедливо условие Start <= Finish, то можно условие

CL.Start <= CR.Finish AND CL.Finish >= CR.Start

привести к виду:

CR.Start Between CL.Start and CL.Finish

Остальное, вроде бы, нормально. Тогда получим:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT ;
CL.F, CL.I, CL.O, CL.God, CL.Uid AS Uid1, CR.Uid AS Uid2, ;
CL.Start AS Start1, CL.Finish AS Finish1, CR.Start AS Start2, CR.Finish AS Finish2 ;
FROM ;
CurMain CL INNER JOIN CurMain CR ON ;
CL.F == CR.F AND CL.I == CR.I AND CL.O == CR.O AND CL.God == CR.God ;
WHERE ;
CL.Uid != CR.Uid AND CR.Start Between CL.Start and CL.Finish
...
Рейтинг: 0 / 0
05.03.2009, 13:06
    #35853096
Руслан82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос в жоские условия
У меня не идет == т.е. все нормально выберет но одно условие с равенством не выполниться или выполняться но не жёстко

Как с этим быть

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


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