|
Условие ИЛИ в конструкторе запроса | ☑ | ||
---|---|---|---|---|
0
Vanilla26
22.03.13
✎
15:37
|
Ставлю условие в конструкторе запроса
(ДатаНачала МЕЖДУ &ДатаНачала И &ДатаОкончания) ИЛИ (ДатаОкончания МЕЖДУ &ДатаНачала И &ДатаОкончания) После нажатия на ОК удаляются скобки!!! в следствие чего условие не работет должным образом..Как сделать? |
|||
1
butterbean
22.03.13
✎
15:39
|
да тут вобщем-то скобки не обязательны
|
|||
2
Maxus43
22.03.13
✎
15:39
|
должно работать. а если скобки поставишь руками в запросе - то результат другой будет?
|
|||
3
Живой Ископаемый
22.03.13
✎
15:40
|
Почему? Условие не изменится
|
|||
4
John83
22.03.13
✎
15:41
|
когда-то с подобным сталкивался...
PS или меня глючит :) |
|||
5
GANR
22.03.13
✎
15:41
|
(0) А со скобками по-другому отрабатывает??? Операция И итак имеет приоритет перед операцией ИЛИ.
|
|||
6
sapphire
22.03.13
✎
15:41
|
Ответ прост: не пользоваться конструктором, ИМХО.
|
|||
7
GANR
22.03.13
✎
15:42
|
Ах там МЕЖДУ...
|
|||
8
Maxus43
22.03.13
✎
15:44
|
(6) да ну, конструктор покрывает 95% функционала, по удобству я к нему привык например. Потом после конструктора если что поправить немного, а так - работает норм
|
|||
9
GANR
22.03.13
✎
15:48
|
А у меня не удалил
ВЫБРАТЬ AC_ОперацияБух.Ссылка ИЗ Документ.AC_ОперацияБух КАК AC_ОперацияБух ГДЕ (AC_ОперацияБух.Дата МЕЖДУ &ДатаНач1 И &ДатаКон1 ИЛИ AC_ОперацияБух.Дата МЕЖДУ &ДатаНач2 И &ДатаКон2) |
|||
10
Maxus43
22.03.13
✎
15:49
|
в SQL тоже есть конструктор запросов кстати, только им не пользуется потому что он страшен как атомная война
|
|||
11
GANR
22.03.13
✎
15:49
|
(9) ) ИЛИ ( снеслось
|
|||
12
rs_trade
22.03.13
✎
15:50
|
(10) Может ты просто его не умеешь готовить? Он просто не привычен.
|
|||
13
Maxus43
22.03.13
✎
15:50
|
(12) возможно, по сравнению с конструктором 1с - это ёперный пистец просто) мне легче в SQL руками написать если чесно, чем тем чудом пользоваться
|
|||
14
Maxus43
22.03.13
✎
15:51
|
или я не понял его смысла, но в том коснтрукторе почти вс надо так же писать руками
|
|||
15
Vanilla26
22.03.13
✎
15:52
|
сори со скобками та же беда....условие вообще не правильное:)) мне нужно выбрать все записи в которых пересекаются периоды с параметрами с формы
|
|||
16
Vanilla26
22.03.13
✎
15:54
|
а хотяяяяяяяяяя.....вроде правильно...че то затупил под конец рабочего дня
|
|||
17
GANR
22.03.13
✎
15:55
|
(13) того же мнения
(16) так результаты запроса разные или одинаковые??? |
|||
18
mikecool
22.03.13
✎
15:55
|
(16) помню, что конструктор неправильно оптимизил и удалял скобки, но это было на каком то древнем релизе 8.0
|
|||
19
mehfk
22.03.13
✎
15:59
|
(8) Только напрашивается вопрос: что курил автор кодогенератора конструкторазапроса, когда придумывал как должен выглядеть код, выдаваемый конструктором запроса.
|
|||
20
Maxus43
22.03.13
✎
16:00
|
(19) что конкретно не нравится? какие конструкции неадекватны?
|
|||
21
Vanilla26
22.03.13
✎
16:01
|
(17)одинаковые))все таки не подходит мне это условие)))..помогите как выбрать записи в которых периоды пересекаются
|
|||
22
GANR
22.03.13
✎
16:02
|
(21) Посмотри на запрос со скобками и без в Profiler - и тогда узнаешь точно.
|
|||
23
Vanilla26
22.03.13
✎
16:04
|
допустим период выборки с 11.02.2013 по 28.02.2013
документ период с 10.02.2013 по 25.03.2013 как написать чтоб документ попал в период??? |
|||
24
GANR
22.03.13
✎
16:06
|
(23) ДатаНачала И ДатаОкончания должны попадать в интервал, что ли? В таком случае надо ИЛИ на И заменить в (0).
|
|||
25
Vanilla26
22.03.13
✎
16:08
|
(24) неее....10.02.2013 не входит в 11.02.2013 по 28.02.2013
|
|||
26
Vanilla26
22.03.13
✎
16:09
|
но попадать должен..так как периоды пересекаются
|
|||
27
Sammo
22.03.13
✎
16:11
|
(18) Да и в 8.1 еще бывало. Но не вижу прблемы пробежать глазами и в случае необходимости проставить руками
|
|||
28
GANR
22.03.13
✎
16:19
|
(ДатаНачала МЕЖДУ &ДатаНачала И &ДатаОкончания) ИЛИ
(ДатаОкончания МЕЖДУ &ДатаНачала И &ДатаОкончания) ИЛИ ДатаНачала < &ДатаНачала И ДатаОкончания > &ДатаОкончания |
|||
29
Vanilla26
22.03.13
✎
16:23
|
(28) Пару минут назад допер и так сделал:))
(ДатаНачала МЕЖДУ &ДатаНачала И &ДатаОкончания) ИЛИ (ДатаОкончания МЕЖДУ &ДатаНачала И &ДатаОкончания) ИЛИ (&ДатаНачала МЕЖДУ ДатаНачала И ДатаОкончания) ИЛИ (&ДатаОкончания МЕЖДУ ДатаНачала И ДатаОкончания) |
|||
30
beer_fan
22.03.13
✎
16:24
|
По-моему в (28) красивее получилось :)
|
|||
31
GANR
22.03.13
✎
16:25
|
(28)(29), вроде, охватывают все возможные варианты
|
|||
32
acsent
22.03.13
✎
16:27
|
пересечение интервалов без ИЛИ делается
|
|||
33
Птица
22.03.13
✎
16:27
|
в (29) одно "между" избыточное. например, четвертое.
|
|||
34
acsent
22.03.13
✎
16:28
|
&Д1 <= Д2 и &Д2 >= Д1
|
|||
35
GANR
22.03.13
✎
16:30
|
(34) Вот это ловко!
Раз нет ИЛИ, значит индексы будут использоваться. |
|||
36
GANR
22.03.13
✎
16:37
|
Напишем (34) покрасивше и в рамочку
+------------------------+ | Д2 >= &Д1 и Д1 <= &Д2 | +------------------------+ |
|||
37
Vanilla26
22.03.13
✎
16:43
|
дааааа))) сиильно))
|
|||
38
mehfk
22.03.13
✎
16:52
|
(20) Где в (19) про конструкции? Я про стиль оформления кода.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |