Почему при преобразовании запроса Аксапта добавляет скобки?
Например, есть запрос:
select table1
where table1.field1 == 1 || table1.field1 == 2 || table1.field1 == 3
К SQL Server'у (к Oracle не знаю, но подозреваю нечто похожее) идет уже такой запрос:
select * from table1
where (((table1.field1 = 1) or (table1.field1 = 2)) or table1.field1=3)
Ну вот что-то в этом духе. И еще там фильтрация компании, но не об этом речь.
Т.е. получаем кучу скобок просто на ровном месте, причем не просто скобок, а вложенных в друг друга.
SQL Server не очень-то любит вложенные условия, во всяком случае, как показали эксперименты, 200 вложенных условий уже не переваривает. Настройку на сервере, которая отвечала бы за это число, я не нашел, подозреваю что ее нет.
Оставив в стороне безусловно здравые рассуждения о способах корректного построения запросов, скажите мне как наложить на запрос 200 условий путем их перечисления?
|