|
|
|
|
#1 |
|
Участник
|
X++: info(queryRun.query().dataSourceNo(1).toString()); все условия where перенести в конец строки, group by и order by в самый-самый конец. join заменить на inner join и т.д. В общем, требуется редактирование, чтобы преобразовать полученную строку в T\SQL. |
|
|
|
| За это сообщение автора поблагодарили: S.Kuskov (2). | |
|
|
#2 |
|
Участник
|
Цитата:
Также exists join меняется на exists() и всё в таком духе. Единственным исключением наверное является Advanced query range value expressions. Цитата:
|
|
|
|
| За это сообщение автора поблагодарили: Ace of Database (2). | |
|
|
#3 |
|
Участник
|
Цитата:
У меня на АХ2009 простенькие проекты, и я не успел заметить новшества.Все мясо пока еще в АХ30, вот там приходится чуть ли не ежедневно такие строки получать. |
|
|
|
|
#4 |
|
Участник
|
Нет, все-таки и в АХ30 вместо '==' toString выдает '=' и вместо '||' выдает 'or'.
Видимо, я спутал случаи, когда надо кусок кода из Аксапты вырезать и анализировать через SQL Management Studio Указанный ниже джоб выдает практически одинаковые результаты в АХ30 и в АХ2009 В АХ30 результат такой: SELECT * FROM InventTable WHERE ((ItemId = 123 OR ItemId = 124)) EXISTS JOIN * FROM InventTableModule WHERE InventTable.ItemId = InventTableModule.ItemId AND ((ModuleType = Склад)) В АХ2009 результат такой: SELECT FIRSTFAST * FROM InventTable WHERE ((ItemId = N'123' OR ItemId = N'124')) EXISTS JOIN FIRSTFAST * FROM InventTableModule WHERE InventTable.ItemId = InventTableModule.ItemId AND ((ModuleType = 0)) Кстати, очень умно Аксапта2009 добавляет FirstFast, видимо, чувствует, что идет фильтрация по уникальному индексу. И еще удобно, что вместо "Склад" пишет значение 0. PHP код:
Последний раз редактировалось Ace of Database; 20.12.2011 в 14:02. |
|
|
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|