![]() |
#10 |
Участник
|
Re: знатокам query
Погоди, Максим. Ты прав с технической стороны.
Чтобы сделать то, что andreynikolai сказал на человеческом языке, запрос вообще по другой таблице делать надо. Сгруппируйте по клиенту CustTransOpen. Вы получите список клиентов с открытыми проводками. Далее из этого списка надо выбрать тех, кто имеет проводки для сопоставления. Я бы чуть изменил условия задачи и показывал всех клиентов у которых число проводок больше 2. С практической точки зрения, этого вполне достаточно. Если условия задачи не менять, то надо показать клиентов у которых есть проводки с положительной и отрицательной суммой в custTransOpen. Далее возникает сложность как в одном запросе сделать max,min, если Аксапта не позволяет подставлять алиасы для полей. Но у нас есть два поля с суммами, а нам нужен только +-. поэтому select, по которому должен строится запрос должен выглядеть так Код: CusttransOpen cto; select minof(AmountCur), maxof(AmountMST) from cto group by AccountNum; В чем состоит мораль: 1. выразите на простом человеческом языке ваше желание. 2. посмотрите есть ли уже готовая функциональность для этого 3. поищите существующие таблицы 4. если нет прямого ответа, то может стоит чуть модифицировать ваше желание? Дополнительно: профилируйте запросы. Старайтесь не задавать SQL'ю работу по перебору проводок от начала времен. Тем более, в сложных join'ах. Query и форма для Аксапты 3.0 прилагаются в проекте. Обратите внимание, что query лучше не строить динамически, а задавать в АОТе. //// Интересно как php показал Group By... Попробуем так... |
|
|
![]() |
||||
Тема | Ответов | |||
знатокам Query | 4 | |||
Dynamics AX Geek: Using query() | 0 | |||
знатокам query | 8 | |||
Знатокам Query | 2 | |||
Вопрос знатокам QBE и Query в AXAPTA | 6 |
|