|
19.01.2017, 13:39 | #1 |
Участник
|
|
|
19.01.2017, 14:06 | #2 |
Участник
|
Цитата:
Цитата:
Do not specify a field in the Group By element. A view does not use the field information in the Group By element.
Note: If you want to group the records in a view, replace the view data source with a query that has the specified group by information. https://msdn.microsoft.com/en-us/lib...(v=ax.50).aspx |
|
|
За это сообщение автора поблагодарили: AR® (1). |
19.01.2017, 15:08 | #3 |
Участник
|
Во-первых, спасибо за ссылки.
Во-вторых, получилось обойтись без вьюх и "индивидуальных" query для них. Для этого необходимо и достаточно для вложенной таблицы (которую группировать вообще-то было не нужно) сделать qbds.addGroupByField() по всем полям её первичного ключа. Недостаток такого решения в том, что вызовом queryRun.get() нельзя получить поля, не включённые в группировку. |
|
19.01.2017, 16:41 | #4 |
Участник
|
Цитата:
Сообщение от AR®
получилось обойтись без вьюх и "индивидуальных" query для них.
Для этого необходимо и достаточно для вложенной таблицы (которую группировать вообще-то было не нужно) сделать qbds.addGroupByField() по всем полям её первичного ключа. Недостаток такого решения в том, что вызовом queryRun.get() нельзя получить поля, не включённые в группировку. |
|
20.01.2017, 09:48 | #5 |
Участник
|
Ключевые поля нужны все, если надо будет звать find().
Для полноты картины. Если порядок следования записей, возвращаемых query, не принципиален, то можно сделать группируемую таблицу вложенной, а не группируемую - объемлющей. Тогда всё работает "сразу". |
|
20.01.2017, 11:34 | #6 |
Участник
|
Речь была про возвращение данных методом queryRun.get(). Для этого не нужна никакая дополнительная группировка кроме той которая необходима по смыслу запроса.
Цитата:
Ещё раз, в запросах аксапты происходит сначала соединение, потом группировка. Если нужно наоборот, используйте представления, либо отказывайтесь от соединения таблиц в один запрос и пишите вложенные циклы. |
|