powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подсчёт суммы в столбце Grid в строках, заданных условием.
6 сообщений из 6, страница 1 из 1
Подсчёт суммы в столбце Grid в строках, заданных условием.
    #36510202
АлексейБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Суть:
Есть Grid1, данные в котором генерируются из таблицы. допустим вот грид:
ст1 ст2 ст3 ст4
1111 25 30 35
2222 30 30 30
2222 22 11 11
1111 45 45 45
1111 34 34 34
3333 11 11 11
3333 11 11 11

И вот необходимо подсчитать сумму в столбцах ст2, ст3 и ст4 тех строк, в которых ст1 имеет одинаковое значение. Т.е. сумму в ст2,ст3,ст4, где ст1=1111 . Ну а дальше соответственно 2222 и 3333.
Если кто может, помогите.
...
Рейтинг: 0 / 0
Подсчёт суммы в столбце Grid в строках, заданных условием.
    #36510290
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
select ;
    ст1, ;
    sum(ст2) as sum2, ;
    sum(ст3) as sum3, ;
    sum(ст4) as sum4 ;
from MyTab ;
group by ст1
...
Рейтинг: 0 / 0
Подсчёт суммы в столбце Grid в строках, заданных условием.
    #36510293
АлексейБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторselect ;
ст1, ;
sum(ст2) as sum2, ;
sum(ст3) as sum3, ;
sum(ст4) as sum4 ;
from MyTab ;
group by ст1
Спасибо!!! А как сразу можно записать полученный результат в другую таблицу с такими же полями?
...
Рейтинг: 0 / 0
Подсчёт суммы в столбце Grid в строках, заданных условием.
    #36510305
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это зависит от версии FoxPro и того факта, есть ли уже эта самая "другая" таблица или ее можно создать в процессе выполнения запроса.

Посмотрите справку по командам

Insert-SQL
Append From
...
Рейтинг: 0 / 0
Подсчёт суммы в столбце Grid в строках, заданных условием.
    #36510370
АлексейБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал вот так

INSERT INTO otpr_itog (kod_pr, kod_izd, zoloto, serebro, platina, palladiy);
SELECT kod_pr, kod_izd,;
SUM(zoloto), SUM(serebro), SUM(platina), SUM(palladiy);
FROM promezh_tab;
GROUP BY kod_pr

выдаёт ошибку: SQL: GROUP BY clause is missing or invalid.
...
Рейтинг: 0 / 0
Подсчёт суммы в столбце Grid в строках, заданных условием.
    #36510511
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейБСделал вот так

INSERT INTO otpr_itog (kod_pr, kod_izd, zoloto, serebro, platina, palladiy);
SELECT kod_pr, kod_izd,;
SUM(zoloto), SUM(serebro), SUM(platina), SUM(palladiy);
FROM promezh_tab;
GROUP BY kod_pr

выдаёт ошибку: SQL: GROUP BY clause is missing or invalid.
Я бы вам такую же ошибку выдал. Я же не знаю, что вы хотите с kod_izd делать. И программа тоже не знает.

Вам надо либо сказать программе: я хочу группировать по полю Kod_Izd и тогда запрос будет выглядеть так:
Код: plaintext
1.
2.
3.
4.
5.
INSERT INTO otpr_itog (kod_pr, kod_izd, zoloto, serebro, platina, palladiy);
SELECT kod_pr, kod_izd,;
SUM(zoloto), SUM(serebro), SUM(platina), SUM(palladiy);
FROM promezh_tab;
GROUP BY kod_pr, kod_izd
Или вы не хотите группировать по полю Kod_Izd, а хотите получить какое-либо значение этого поля (максимум, минимум, среднее). Запрос тогда будет выглядеть так:
Код: plaintext
1.
2.
3.
4.
5.
INSERT INTO otpr_itog (kod_pr, kod_izd, zoloto, serebro, platina, palladiy);
SELECT kod_pr, MAX(kod_izd),;
SUM(zoloto), SUM(serebro), SUM(platina), SUM(palladiy);
FROM promezh_tab;
GROUP BY kod_pr
Ну, или MIN(kod_izd), или AVG(kod_izd), или COUNT(kod_izd)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подсчёт суммы в столбце Grid в строках, заданных условием.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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