07.07.2004, 17:08 | #1 |
Участник
|
Из запроса в query!!!
Как из запроса:
select AccountNum, Sum(AccountNum) from LedgerTrans group by AccountNum сформировать соответствующий query? |
|
|
За это сообщение автора поблагодарили: Dodger (1). |
07.07.2004, 17:12 | #2 |
Участник
|
программно? вроде, никак.
а зачем? |
|
07.07.2004, 17:17 | #3 |
Модератор
|
А он у вас так выполняется?
|
|
07.07.2004, 17:20 | #4 |
Модератор
|
Не вижу разницы.
PHP код:
|
|
07.07.2004, 17:21 | #5 |
Участник
|
Допустим надо вывести все счета с количеством проводок по каждому.
|
|
07.07.2004, 17:26 | #6 |
Участник
|
while select AccountNum, Sum(AccountNum)
from ledgerTrans group by AccountNum { info(strfmt("%1",ledgerTrans.AccountNum)); } хорошо... только как посмотреть сумму??? запрос не подходит потому, что хотелось бы юзеру дать возможность и самому поучавствовать в выборке. Вообще хотелось бы сделать что-то вроде такого запроса: Код: Select acca.ANum, AccA.AccAll as A1, AccB.AccAll as A2 From (select AccountNum as ANUM, count(AccountNum) as AccAll from LedgerTrans group by AccountNum ) AccA inner join (select AccountNum AS ANUM, count(AccountNum) as AccAll from LedgerTrans where transdate = CONVERT(datetime,'01.01.2004',104) group by AccountNum ) AccB on ACCA.anum = accb.anum order by acca.ANum |
|
07.07.2004, 17:34 | #7 |
Модератор
|
Далайте отчет. И критерии выборки будут, и группировку можно задать, и сумму будет считать автоматически.
|
|
07.07.2004, 17:38 | #8 |
Модератор
|
Хе-хе. Молодой человек, будьте аккуратны. Вот пример для sum и для count:
PHP код:
А то пользователи увидят СУММУ счетов вместо количества транзакций |
|
07.07.2004, 17:50 | #9 |
Участник
|
Цитата:
Изначально опубликовано pdojn
запрос не подходит потому, что хотелось бы юзеру дать возможность и самому поучавствовать в выборке. Запрос как раз для этого и предназначен - генерировать запрос из кода и дать возможность пользователю вставлять и заменять критерии. |
|
07.07.2004, 17:55 | #10 |
Участник
|
Ничего не понимаю (С) Колобки
Цитата:
Изначально опубликовано George Nordic
PHP код:
Скажите на простом человеческом языке - что вы от нее хотите? |
|
07.07.2004, 18:02 | #11 |
Модератор
|
Многоуважаемый mazzy! Я-то от неё ничего не хочу
Вот что у меня получается: Различие между sum и count: Sum Info ????????? (17:55:35) 10.100 3646.1 Info ????????? (17:55:35) 19.300 4342.5 Info ????????? (17:55:35) 20.100 502.5 Info ????????? (17:55:35) 20.200 20.2 Info ????????? (17:55:35) 20.501 2952.144 Info ????????? (17:55:35) 20.504 184.536 Info ????????? (17:55:35) 43.100 43.1 Info ????????? (17:55:35) 60.100 54090 Count: Info ????????? (17:55:35) 10.100 361 Info ????????? (17:55:35) 19.300 225 Info ????????? (17:55:35) 20.100 25 Info ????????? (17:55:35) 20.200 1 Info ????????? (17:55:35) 20.501 144 Info ????????? (17:55:35) 20.504 9 Info ????????? (17:55:35) 43.100 1 Info ????????? (17:55:35) 60.100 900 Имхо, Oracle сам разобрался, что это за поле Ему лучше знать |
|
07.07.2004, 18:05 | #12 |
Модератор
|
А вообще, это довольно забавно - суммирование строковых полей, как пытался делать уважаемый pdojn
Цитата:
select AccountNum, Sum(AccountNum)from LedgerTrans group by AccountNum
|
|
07.07.2004, 18:23 | #13 |
Участник
|
Цитата:
Изначально опубликовано George Nordic
Многоуважаемый mazzy! Я-то от неё ничего не хочу pdojn, что вы хотите от Аксапты добиться? скажите пожалуйсат на простом русском языке. |
|
07.07.2004, 18:27 | #14 |
Участник
|
на MS SQL код не выполняется
выдается ошибка Цитата:
Невозможно выбрать запись в 'Бухгалтерские проводки' ('LedgerTrans') Документ ГК: , .
База данных SQL обнаружила ошибку. Описание ошибки SQL: [Microsoft][ODBC SQL Server Driver][SQL Server]The sum or average aggregate operation cannot take a varchar data type as an argument. Оператор SQL: SELECT A.ACCOUNTNUM,SUM(B.ACCOUNTNUM) FROM LEDGERTRANS A,LEDGERTRANS B WHERE (A.DATAAREAID='dmo') AND ((B.DATAAREAID='dmo') AND (B.ACCOUNTNUM=A.ACCOUNTNUM)) GROUP BY A.ACCOUNTNUM ORDER BY A.ACCOUNTNUM OPTION(FAST 21) |
|
07.07.2004, 18:29 | #15 |
Участник
|
а. кажется я пропустил.
Цитата:
Изначально опубликовано pdojn
Допустим надо вывести все счета с количеством проводок по каждому. http://forum.mazzy.ru/index.php?showtopic=300 это если запросом. если select'ом в коде, то George правильно написал. Только count надо делать по RecID |
|
07.07.2004, 18:34 | #16 |
Участник
|
причем можно сделать чуть оптимальнее
PHP код:
|
|
08.07.2004, 00:03 | #17 |
Участник
|
вот так вот будет еще лучше
PHP код:
|
|
08.07.2004, 06:29 | #18 |
Участник
|
Цитата:
Изначально опубликовано George Nordic
PHP код:
Еще хотелось бы узнать можно ли этот запрос реализовать в АОТ или через динамическое создание запроса? |
|
08.07.2004, 10:33 | #19 |
Модератор
|
Вот так:
PHP код:
Георгий. |
|
08.07.2004, 12:49 | #20 |
Гость
|
мде...
|
|
|
|