powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с созданием кода
18 сообщений из 18, страница 1 из 1
Помогите с созданием кода
    #33487485
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения за м.б. совсем наивный вопрос, но не могу ещё привыкнуть к фоксу.
Есть алгоритм, то не могу перевести его в код фокса. Может поможете?
Есть таблица с полями: Kod_Val, FIO, Summa

Задача упорядочить записи по Kod_Val, и просуммировать их для поля FIO.
1. Сортируем по валюте и FIO
2. Суммируем в разрезе валюты и FIO

Результат в таблице:
Kod_val..FIO........Summa....Kol_Doc (количество документов, т.е. сложенных строк)
810.......Иванов....120.........3
810.......Петров....250........16
840.......Иванов....780........20
840.......Сидоров..1560.......4

Какой код написать для п.2?
Спасибо!
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33487506
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы поступил так:
SELECT Kod_Val, FIO, SUM(Summa) AS Summa
FROM Table
GROUP BY Kod_Val, FIO
ORDER BY Kod_Val, FIO

С уважением, Алексей
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33487553
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как потом этот SELECT отправить в таблицу БД?
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33487593
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
into dbf ...
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33490000
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно я усложню задачу?

Есть таблица с полями:
NamVal - наименование валюты
PR - приход/расход (приход = 0, расход = 1)
Summa - сумма операции
FIO - ФИО оператора

Необходима таблица:
- группировка: по валюте
- в группе валюты: по каждому оператору нужно сочитать приход и расход

Первое поле: NamVal
Второе поле: Кол-во документов по приходу
Третье поле: Сумма по приходу
Четвёртое поле: Кол-во документов по расходу
Пятое поле: Сумма по расходу
Шестое поле: FIO

Help! Нужен SELECT.
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33490084
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select NamVal, FIO, sum(iif(PR=0,summa,summa-summa) prixod, sum(iif(PR=1,summa,summa-summa) rasxod from <TableName> GROUP BY NamVal, FIO
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33490094
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про количества забыл

select NamVal, FIO, count(iif(PR=0,summa,summa-summa) qty_prixod, sum(iif(PR=0,summa,summa-summa) prixod, count(iif(PR=1,summa,summa-summa) qty_rasxod, sum(iif(PR=1,summa,summa-summa) rasxod from <TableName> GROUP BY NamVal, FIO
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33490099
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И ещё разок

select NamVal, FIO, count(iif(PR=0,1,0) qty_prixod, sum(iif(PR=0,summa,summa-summa) prixod, count(iif(PR=1,1,0) qty_rasxod, sum(iif(PR=1,summa,summa-summa) rasxod from <TableName> GROUP BY NamVal, FIO
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33490103
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMedselect NamVal, FIO, sum(iif(PR=0,summa,summa-summa) prixod, sum(iif(PR=1,summa,summa-summa) rasxod from <TableName> GROUP BY NamVal, FIO
а подсчёт кол-ва документов (т.е. сложенных строк)?

или это нельзя сделать через один запрос?
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33490109
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igrok4 AleksMedselect NamVal, FIO, sum(iif(PR=0,summa,summa-summa) prixod, sum(iif(PR=1,summa,summa-summa) rasxod from <TableName> GROUP BY NamVal, FIO
а подсчёт кол-ва документов (т.е. сложенных строк)?

или это нельзя сделать через один запрос?

пока спрашивал, уже ответили
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33492611
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMedИ ещё разок

select NamVal, FIO, count(iif(PR=0,1,0) qty_prixod, sum(iif(PR=0,summa,summa-summa) prixod, count(iif(PR=1,1,0) qty_rasxod, sum(iif(PR=1,summa,summa-summa) rasxod from <TableName> GROUP BY NamVal, FIO

Хм...тут получается подсчёт общего количества документов. В итоге в полях "Кол-во док. по приходу" и "Кол-во док. по расходу" показывает общее количество по этой валюте и оператору.
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33492616
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно, но я думал ты догадаешься поменять COUNT() на SUM() и не стал писать еще одно исправление.
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33493144
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi AleksMed!

Только вместо COUNT(IIF(...)) надо SUM(IIF(...)) для подсчёта количества.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33494352
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMedТочно, но я думал ты догадаешься поменять COUNT() на SUM() и не стал писать еще одно исправление.

Тормознул.
Бывает :(
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33497465
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно сделать так, чтобы в одной записи были и приход и расход по оператору.
Сейчас
Код: plaintext
1.
select NamVal, FIO, sum(iif(PR= 0 , 1 , 0 ) as qty_prixod, sum(iif(PR= 0 ,summa,summa-summa) as prixod, ;
sum(iif(PR= 1 , 1 , 0 ) as qty_rasxod, sum(iif(PR= 1 ,summa,summa-summa) as rasxod from <TableName> GROUP BY NamVal, FIO
выдаёт две отдельные записи по оператору приход и расход.
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33498586
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Igrok4!

Этого не может быть - этот запрос выдаёт только ОДНУ запись для каждого
NamVal+FIO - и в ней будет и приход и расход по валюте+ФИО.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33498808
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, я там ещё одну группировку добавил, поэтому и не работало.
...
Рейтинг: 0 / 0
Помогите с созданием кода
    #33646359
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igrok4
Задача упорядочить записи по Kod_Val, и просуммировать их для поля FIO.

Результат в таблице:
Kod_val..FIO........Summa....Kol_Doc (количество документов, т.е. сложенных строк)
810.......Иванов....120.........3
810.......Петров....250........16
840.......Иванов....780........20
840.......Сидоров..1560.......4

Какой код написать для п.2?
Спасибо!

Добавил поля (м.б. пустыми оба, но не могут быть одновременно заполнены):
Kom_R - комиссия в рублях (Должна попадать в группу валюты Kod_Val = 810)
Kom_V - комиссия в валюте (код валюты в поле Kod_Val, должен попадать в соответствующие группы по Kod_Val)
Я так думаю чтобы обрабатывать ещё и эти поля, к запросу
Код: plaintext
1.
select NamVal, FIO, sum(iif(PR= 0 , 1 , 0 ) as Kol_prihod, sum(iif(PR= 0 ,summa,summa-summa) as prihod, ;
sum(iif(PR= 1 , 1 , 0 ) as Kol_rashod, sum(iif(PR= 1 ,summa,summa-summa) as rashod from Table1 GROUP BY NamVal, FIO
надо написать второй (типа такого)
Код: plaintext
SELECT SUM(Kom_R) as prihod, SUM(IIF(Kom_R <> 0  , 1 , 0 )) AS Kol_prihod, FIO FROM Table1 GROUP BY FIO
и объеденить его с первым.
Только как во второй запрос вписать обработку поля Kom_V? Причём так, чтобы значение попадало в нужную группировку по полю Kod_Val.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с созданием кода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]