17.05.2004, 12:19 | #1 |
Участник
|
Как можно изменить запрос не пересобирая его
Можно ли без пересобирания запроса отключить группировку по полю?
Есть запрос, накладываются ограничения как на него так и на связанные таблицы, необходимо выполнить такой же запрос, но без группировки. PHP код:
|
|
17.05.2004, 13:07 | #2 |
Участник
|
ИМХО, так
PHP код:
|
|
17.05.2004, 13:42 | #3 |
Участник
|
Цитата:
Изначально опубликовано Джон
ИМХО, так[/PHP] как вообще лучше (можно) решить эту задачу 1. получить в одном запросе и sum(inventQty) и salesId видимо добавив связь SalesPickingListJournalLine самой к себе или 2. сделать два запроса один вытаскивает sum (inventQty), второй все salesId для каждой ItemId тогда непонятно как продублировать query, чтобы заново не собирать все многочисленные связи и фильтры |
|
17.05.2004, 14:33 | #4 |
----------------
|
Не знаю, как остальные, но я не понял, что Вы хотите получить вторым запросом (список заказов, список заказов по номенклатурам, что-то другое).
Грохнуть список полей, по которым идет группировка можно так qbDS.sortClear() |
|
17.05.2004, 14:51 | #5 |
Участник
|
Цитата:
Изначально опубликовано Wamr
Не знаю, как остальные, но я не понял, что Вы хотите получить вторым запросом (список заказов, список заказов по номенклатурам, что-то другое). ItemId SalesId InventQty 1 ZKZ1 100 2 ZKZ2 200 3 ZKZ2 300 1 ZKZ3 400 выбираю: ItemId sum(InventQty) 1 500 2 200 3 300 но хочу еще выбрать и ItemId SalesId sum(InventQty) 1 ZKZ1 100 1 ZKZ3 400 2 ZKZ2 200 3 ZKZ2 300 Тогда в отчет смогу вывести: ItemId sum(InventQty) 1 500 SalesId sum(InventQty) ZKZ1 100 ZKZ1 400 ItemId sum(InventQty) 2 200 SalesId sum(InventQty) ZKZ2 200 ItemId sum(InventQty) 3 300 SalesId sum(InventQty) ZKZ3 300 |
|
17.05.2004, 15:20 | #6 |
----------------
|
Тогда второй запрос - это тотже первый, в который добавили
qbd2.addSortField(fieldNum(SalesPickingListJournalLine,SalesId)); Но если вы поменяете местами строки в отчете, то можно обойтись 1 запросом (2ым) ItemId 1 SalesId sum(InventQty) ZKZ1 100 ZKZ1 400 sum(InventQty) 500 ItemId 2 SalesId sum(InventQty) ZKZ2 200 sum(InventQty) 200 ... |
|
17.05.2004, 15:40 | #7 |
Участник
|
Цитата:
Изначально опубликовано Wamr
Но если вы поменяете местами строки в отчете, то можно обойтись 1 запросом (2ым) ... сгруппировать по заказам, а итоговый sum(inventQty) считать отдельно, суммирую вес по каждому заказу? |
|
17.05.2004, 15:48 | #8 |
----------------
|
Цитата:
Изначально опубликовано Pegiy
сгруппировать по заказам, а итоговый sum(inventQty) считать отдельно, суммирую вес по каждому заказу? |
|
18.05.2004, 18:46 | #9 |
Участник
|
Для копирования запросов можно использовать метод pack() на классе QueryRun. Пример можно посмотреть здесь:
\Classes\SysQuery\countPrim |
|
|
|