Страница 1 из 2

Оператор OR в select

Добавлено: 23 окт 2003, 08:41
kostya_100
Можно ли как-нибудь выполнить оператор or в условие where(())?

Re: Оператор OR в select

Добавлено: 23 окт 2003, 09:50
Den
тока в узловом фильтре...

Re: Оператор OR в select

Добавлено: 23 окт 2003, 10:40
kostya_100
А что это?

Разве нельзя так написать
WHERE (A = 2) OR (A = 3)
?

или надо обязательно писать
WHERE NOT ((A <> 2) AND (B <> 3))

Re: Оператор OR в select

Добавлено: 23 окт 2003, 11:06
Den
Сформулируй лучше словами что ты хочешь сделать и в чем твоя проблема...

Re: Оператор OR в select

Добавлено: 23 окт 2003, 11:53
kostya_100
например where ((Katmc.Nrec==12 OR KatMC.Nrec==11))

Re: Оператор OR в select

Добавлено: 23 окт 2003, 12:52
Den
индекс можно только явно задавать или в диапозоне (and). OR ,конечно, так не прокатит..

Re: Оператор OR в select

Добавлено: 23 окт 2003, 13:02
kostya_100
почему конечно?
я считаю это серьёзной недоработкой

например в sql же есть такой оператор

Re: Оператор OR в select

Добавлено: 23 окт 2003, 13:16
Ged
Select
Lschet.TabN,
Persons.Fio
From
Lschet,
Persons
Where
((
LsChet.Tperson /== Persons.Nrec
And
(
101 = LsChet.TabN
Or
102 = LsChet.TabN
)
))
;

Re: Оператор OR в select

Добавлено: 23 окт 2003, 13:19
IgorA
условие where ((....==...)) пишется, когда нужно связать таблицы, или наложить фильтр с учетом индекса (что бы быстро работало), например ((12==KatMC.Nrec)).
Так наложить фильтр по нескольким значениям не получиться.

А вот так - (Katmc.Nrec=12 OR KatMC.Nrec=11) - работает, но неивестно какой индекс используется.

p.s. Такой извращенный синтаксис SQL я встречал только в Галактике, в нормальном SQL все проще и понятнее.

Re: Оператор OR в select

Добавлено: 23 окт 2003, 13:47
Ged
>А вот так - (Katmc.Nrec=12 OR
> KatMC.Nrec=11)
> - работает, но неивестно какой индекс
>используется

А так вообще ни какой индекс не используется.

>p.s. Такой извращенный синтаксис SQL я встречал

А в руководстве по Галактическому SQL так и написано, что это ПОДМНОЖЕСТВО SQL и в нем реализовано только часть операторов.
И пока не претендует на FULL SQL.

Re: Оператор OR в select

Добавлено: 23 окт 2003, 14:45
IgorA
Это ((...)) не ПОДМНОЖЕСТВО SQL, такого вообще нигде нет.
Везде используется либо, для жесткой связки таблиц, - оператор =, либо, для мягкой связки, - оператор join (который вообще не смешан с where).

Кстати, что такое нормальный SQL, можно посмотреть в хелпе к первасиву.

p.s. А что такое агрегатные функции, в Галактике вообще не знают.

Re: Оператор OR в select

Добавлено: 23 окт 2003, 15:00
Deinis
В документации написано, что это "расширенное подмножество языка SQL".
В другом месте сказано, что это "диалект известного языка SQL".
:D

Re: Оператор OR в select

Добавлено: 29 окт 2003, 12:11
Galpro_tut
Жеские дебаты
В Галактике начальный SQL ASCII и требовать от него чего ибо бессмыслено. Это нормально иначе разрабочики Галактики сделали бы еще один MS SQL :))
galpro.itpark.ru

Re: Оператор OR в select

Добавлено: 30 окт 2003, 09:20
IgorA
А зачем этот галактический посредник нужен?
Почему нельзя напрямую обращаться к СУБД, на которой работаем?
Если сложно разрабатывать (и сопровождать) задачу под 3 платформы, то лучше остановиться на одной, и использовать все ее возможности.

Re: СУДБ

Добавлено: 30 окт 2003, 11:25
Ged
Сравните цену на СУБД, и стоимость сопровождения... Еще гдет на форуме уже обсуждалось быстродействие Галки на разных платформах и когда разница ощутима...