|
|
|
Fox Pro 2.6 - цикл с группировкой
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста, как можно сделать следующее. Имеется файл akt.dbf с двумя полями - tarif и summa: tarif summa 1 500 1 300 2 1000 2 1000 и т.д. Мне нужны итоги по всем тарифам в текстовый файл, но как их сгруппировать, не знаю. Что-то вроде: set textmerge on set textmerge to "C:\1.txt" use akt goto top scan \<<tarif>> \<<str(summa)>> endscan set textmerge to Но это без группировки, а как сгруппировать, т.е. чтобы было: тариф 1 - 800 тариф 2 - 2000 Итог ... Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2007, 10:27 |
|
||
|
Fox Pro 2.6 - цикл с группировкой
|
|||
|---|---|---|---|
|
#18+
select tarif, sum(Summa) Summa from Akt into cursor cTmp gtoup by tarif А потом сканируй полученный курсор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2007, 10:31 |
|
||
|
Fox Pro 2.6 - цикл с группировкой
|
|||
|---|---|---|---|
|
#18+
Самое правильно - это то, что предложил AleksMed . Но если хочется по другому, то логика здесь такая: -) Таблица упорядочивается таким образом, чтобы записи шли в порядке возрастания значения того поля, по которому будет выполняться группировка. Причем под термином "упорядочивается" понимается не физическое изменение порядка следования записей (хотя и это возможно), а просто наличие соответсвующего индекса. -) Далее запоминается значение поля, по которому идет группировка из предыдущей записи и сравнивается со значением того же поля в текущей записи. Если совпадают, то группа еще не кончилась, если отличаются, то это конец группы В общем, ничего особо сложного, но сильно утомительно. Что-то вроде Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2007, 11:13 |
|
||
|
|

start [/forum/topic.php?fid=41&tid=1589817]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 390ms |

| 0 / 0 |
